Description
In the Linux kernel, the following vulnerability has been resolved: sctp: add INIT verification after cookie unpacking In SCTP handshake, the INIT chunk is initially processed by the server and embedded into the cookie carried in INIT-ACK. The client then returns this cookie via COOKIE-ECHO, where the server unpacks it and reconstructs the original INIT chunk. When cookie authentication is enabled, the cookie contents are protected against tampering, so reusing the unpacked INIT without re-verification is safe. However, when cookie authentication is disabled, the reconstructed INIT can no longer be trusted. In this case, the INIT must be explicitly validated after unpacking to avoid processing potentially tampered data. Add sctp_verify_init() checks after cookie unpacking in COOKIE-ECHO processing paths (sctp_sf_do_5_1D_ce() and sctp_sf_do_5_2_4_dupcook()) when cookie_auth_enable is disabled. On failure, the new association is freed and the packet is discarded. Also tighten cookie validation in sctp_unpack_cookie() by verifying the embedded chunk type is SCTP_CID_INIT before treating it as an INIT chunk. Finally, update sctp_verify_init() to validate parameter bounds using the actual embedded INIT length instead of chunk->chunk_end, since the INIT stored in COOKIE-ECHO may not span the entire chunk buffer.
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 < ca967418a60b33158e859daf202f3858fd1c8afdaffected1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to < 81892d83cc897331510f35b30d17f8b0dc285966affected1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to < 683a012b984fef4bc155e278742fbe01561e102aaffected1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to < bca3100f550281c2f2418652338bced3b35af0e6affected1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to < 062bcbf8d1f1051fdeb20b94920031b0e2cb95a2affected1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to < 414c5447fe6a200613dd46d7fdc8454622076cb1affected
Linux Linux
Default version status: affected
2.6.12affected0 to < 2.6.12unaffected6.1.191 to ≤ 6.1.*unaffected6.6.160 to ≤ 6.6.*unaffected6.12.114 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/ca967418a60b33158e859daf202f3858fd1c8afd ↗
- https://git.kernel.org/stable/c/81892d83cc897331510f35b30d17f8b0dc285966 ↗
- https://git.kernel.org/stable/c/683a012b984fef4bc155e278742fbe01561e102a ↗
- https://git.kernel.org/stable/c/bca3100f550281c2f2418652338bced3b35af0e6 ↗
- https://git.kernel.org/stable/c/062bcbf8d1f1051fdeb20b94920031b0e2cb95a2 ↗
- https://git.kernel.org/stable/c/414c5447fe6a200613dd46d7fdc8454622076cb1 ↗