Description
In the Linux kernel, the following vulnerability has been resolved: sctp: validate embedded address parameter length sctp_verify_asconf() and sctp_verify_param() only validate ADD_IP, DEL_IP, and SET_PRIMARY parameters against a fixed minimum size of sizeof(struct sctp_addip_param) + sizeof(struct sctp_paramhdr). This ensures the outer parameter is large enough to contain an embedded address parameter header, but does not verify that the embedded address parameter's declared length fits within the bounds of the outer parameter. Later, sctp_process_param() and sctp_process_asconf_param() extract the embedded address parameter and pass it to af->from_addr_param(), which uses the address parameter length to parse the variable-length address payload. A malformed peer can therefore advertise an embedded address parameter length that exceeds the remaining bytes in the enclosing parameter. Validate that addr_param->p.length does not exceed the space available after the sctp_addip_param header before processing the embedded address parameter. Reject malformed parameters when the embedded address length extends beyond the enclosing parameter bounds. This prevents out-of-bounds reads when parsing malformed parameters carried in INIT or ASCONF processing paths.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to < 06c8bf48505f2fef265931db82d5003d302a347baffected1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to < 28ba1d3c956604a89168adfb4c97cfc6c509bba5affected1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to < 3a44b2602d57e11e2eb85958d4cd500d14a27d9eaffected1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to < 85f54cf589163a75fa06e37d8c2a4a72824c6dd1affected1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to < 92e4adfee56f32a963ebb105c6cd9a1ed707262aaffected1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to < ed8605c6f39b9b84f9a4631db6deb25e7f1e973caffected1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to < 0c674b20c9cdb54f8a46c88b4d00cadf82b8f0c0affected1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to < e9361d0ca55c4af12aac09e2572852fa91046229affected
Linux Linux
Default version status: affected
2.6.12affected0 to < 2.6.12unaffected5.10.261 to ≤ 5.10.*unaffected5.15.212 to ≤ 5.15.*unaffected6.1.178 to ≤ 6.1.*unaffected6.6.145 to ≤ 6.6.*unaffected6.12.97 to ≤ 6.12.*unaffected6.18.40 to ≤ 6.18.*unaffected7.1.5 to ≤ 7.1.*unaffected7.2 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/06c8bf48505f2fef265931db82d5003d302a347b ↗
- https://git.kernel.org/stable/c/28ba1d3c956604a89168adfb4c97cfc6c509bba5 ↗
- https://git.kernel.org/stable/c/3a44b2602d57e11e2eb85958d4cd500d14a27d9e ↗
- https://git.kernel.org/stable/c/85f54cf589163a75fa06e37d8c2a4a72824c6dd1 ↗
- https://git.kernel.org/stable/c/92e4adfee56f32a963ebb105c6cd9a1ed707262a ↗
- https://git.kernel.org/stable/c/ed8605c6f39b9b84f9a4631db6deb25e7f1e973c ↗
- https://git.kernel.org/stable/c/0c674b20c9cdb54f8a46c88b4d00cadf82b8f0c0 ↗
- https://git.kernel.org/stable/c/e9361d0ca55c4af12aac09e2572852fa91046229 ↗