sctp: validate embedded INIT chunk and address list lengths in cookie
Affects the Linux kernel SCTP code from 2.6.12 until the fixed releases 6.6.160, 6.12.114, 6.18.36 and 7.0.13, with the oversized-length read needing cookie authentication disabled. CVSS scores it 9.1 Critical. Fixed in the listed releases.
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- How many real-world setups can hit the bug, from the vendor's advisory and CISA data. It does not know your setup.What do these mean? →
- Unclear
- Fix
- Fixed in 6.6.160, 6.12.114, 6.18.36, 7.0.13
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
- Exploitation: none
- Automatable: yes
- Technical impact: partial
Summary
The Linux kernel's SCTP (Stream Control Transmission Protocol) networking stack is affected, specifically its handling of COOKIE_ECHO cookies during association setup. A malformed cookie can cause out-of-bounds memory reads, which could lead to a crash or information disclosure on affected systems.
Summarized by anthropic/claude-haiku-5.5. Verify details against the original sources.
Read the original description
In the Linux kernel, the following vulnerability has been resolved: sctp: validate embedded INIT chunk and address list lengths in cookie sctp_unpack_cookie() only checked that the embedded INIT chunk length did not exceed the remaining cookie payload, but did not ensure that the INIT chunk is large enough to contain a complete INIT header. A malformed COOKIE_ECHO can therefore carry a truncated INIT chunk whose length field is smaller than sizeof(struct sctp_init_chunk). Later, sctp_process_init() accesses INIT parameters unconditionally, which may lead to out-of-bounds reads. In addition, raw_addr_list_len is not fully validated against the remaining cookie payload. When cookie authentication is disabled, an attacker can supply an oversized raw_addr_list_len and cause sctp_raw_to_bind_addrs() to read beyond the end of the cookie. The address parser also lacks sufficient bounds checks for parameter headers and lengths, allowing malformed address parameters to trigger out-of-bounds reads. Fix this by: • requiring the embedded INIT chunk length to be at least sizeof(struct sctp_init_chunk); • validating that the INIT chunk and raw address list together fit within the cookie payload; • verifying sufficient data exists for each address parameter header and payload before parsing it. Note that sctp_verify_init() must be called after sctp_unpack_cookie() and before sctp_process_init() when cookie authentication is disabled. This will be addressed in a separate patch.
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: yes · Technical impact: partial
- Record last updated
Affected versions
- Linux Linux
Version range not reported
- Linux Linux
2.6.12
- KernelLinux
From 2.6.12 · fixed in 6.6.160; From 6.7.0 · fixed in 6.12.114; From 6.13.0 · fixed in 6.18.36; From 6.19.0 · fixed in 7.0.13
References 6
git.kernel.org
Questions about CVE-2026-53224
What does this mean?
A malformed COOKIE_ECHO message in SCTP can make the kernel read memory beyond the end of the cookie or INIT data. The facts describe these as out-of-bounds memory reads.Source: git.kernel.org
Am I affected, and how do I check?
The affected range is the Linux kernel from 2.6.12 up to the fixed releases 6.6.160, 6.12.114, 6.18.36 and 7.0.13 (the 6.7 and 6.13 to 6.19 ranges have their own fixes). Check the running kernel with uname -r and compare it to these ranges. The oversized raw_addr_list_len case applies only when cookie authentication is disabled.Source: git.kernel.org
What should I do about it?
Upgrade to the fixed release for your kernel branch: 6.6.160, 6.12.114, 6.18.36 or 7.0.13, or a later release.Source: git.kernel.org
Is it being exploited?
It is not in CISA's Known Exploited Vulnerabilities catalog, and CISA's SSVC assessment does not mark exploitation as active. That does not mean it has not been attacked: vendors and researchers can report attacks before CISA lists them. No public exploit code is tracked.Source: cve.now feed data