sctp: stream: fully roll back denied add-stream state
- 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
- Fix
- Fixed in 5.10.259, 5.15.210, 6.1.176, 6.6.143, 6.12.94, and 2 more
- 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
In the Linux kernel, the following vulnerability has been resolved: sctp: stream: fully roll back denied add-stream state When ADD_OUT_STREAMS is denied, SCTP only shrinks the queued chunks and then lowers outcnt. That leaves removed stream metadata behind, so a later re-add can reuse a stale ext and hit a null-pointer dereference in the scheduler get path. Fix the rollback by tearing down the removed stream state the same way other stream resizes do. Unschedule the current scheduler state, drop the removed stream ext state with sctp_stream_outq_migrate(), and then reschedule the remaining streams. This keeps scheduler-private RR/FC/PRIO lists consistent while fully rolling back denied outgoing stream additions.
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: yes · Technical impact: partial
- Record last updated
Affected versions
- Linux Linux
From 637784ade221a3c8a7ecd0f583eddd95d6276b9a · fixed in 0cd2dc6dce8ca47212cd306ccd52eb315ef3cf85; From 637784ade221a3c8a7ecd0f583eddd95d6276b9a · fixed in a6724b7b812ac8793514a1d5938db5d9d29ae725; From 637784ade221a3c8a7ecd0f583eddd95d6276b9a · fixed in 9662eb0401518f0b4681f10e7fbf688f504f24cf; From 637784ade221a3c8a7ecd0f583eddd95d6276b9a · fixed in 7dd9a42b044aad2dbe037db1c1e2943582485b44; From 637784ade221a3c8a7ecd0f583eddd95d6276b9a · fixed in 39dc2b0eb5371a669ebc9ec6072b9184eac95418; From 637784ade221a3c8a7ecd0f583eddd95d6276b9a · fixed in d5ea0b3e261fcb2cfff142675516165244cab1da; From 637784ade221a3c8a7ecd0f583eddd95d6276b9a · fixed in 1c6773b8c081509dcd5cd2954f2b02c50c00f151; From 637784ade221a3c8a7ecd0f583eddd95d6276b9a · fixed in a5f8a90ac9f77c678a9781c0a464b635e0d63e49
- Linux Linux
4.15
- KernelLinux
From 4.15.0 · fixed in 5.10.259; From 5.11.0 · fixed in 5.15.210; From 5.16.0 · fixed in 6.1.176; From 6.2.0 · fixed in 6.6.143; From 6.7.0 · fixed in 6.12.94; From 6.13.0 · fixed in 6.18.36; From 6.19.0 · fixed in 7.0.13
References 8
git.kernel.org
- stable/c/0cd2dc6dce8ca47212cd306ccd52eb315ef3cf85
- stable/c/a6724b7b812ac8793514a1d5938db5d9d29ae725
- stable/c/9662eb0401518f0b4681f10e7fbf688f504f24cf
- stable/c/7dd9a42b044aad2dbe037db1c1e2943582485b44
- stable/c/39dc2b0eb5371a669ebc9ec6072b9184eac95418
- stable/c/d5ea0b3e261fcb2cfff142675516165244cab1da
- stable/c/1c6773b8c081509dcd5cd2954f2b02c50c00f151
- stable/c/a5f8a90ac9f77c678a9781c0a464b635e0d63e49