sctp: diag: reject stale associations in dump_one path
- 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: no
- Technical impact: partial
Summary
In the Linux kernel, the following vulnerability has been resolved: sctp: diag: reject stale associations in dump_one path The SCTP exact sock_diag lookup can hold a transport reference, block on lock_sock(sk), and then resume after sctp_association_free() has marked the association dead and freed its bind address list. When that happens, inet_assoc_attr_size() and inet_diag_msg_sctpasoc_fill() can still dereference association state that is no longer valid for reporting. In particular, inet_diag_msg_sctpasoc_fill() may read an empty bind-address list as a real sctp_sockaddr_entry and trigger an out-of-bounds read from unrelated association memory. Reject the association after taking the socket lock if it has been reaped or detached from the endpoint, and report the lookup as stale. This keeps the exact dump-one path from formatting torn association state.
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: no · Technical impact: partial
- Record last updated
Affected versions
- Linux Linux
From 8f840e47f190cbe61a96945c13e9551048d42cef · fixed in 6657af827e21883ae90693e42e7f59a6aab690b5; From 8f840e47f190cbe61a96945c13e9551048d42cef · fixed in b2be72d401833194917e44fbd8d8144bb4f2db16; From 8f840e47f190cbe61a96945c13e9551048d42cef · fixed in 5425de8bd6e9fe5bd67d158e3348171ae7510117; From 8f840e47f190cbe61a96945c13e9551048d42cef · fixed in e97c2a535e23ed0fdd2660993fb3f10d9535c9bc; From 8f840e47f190cbe61a96945c13e9551048d42cef · fixed in 480f754580b5686b928977d16a59f20cef83ff01; From 8f840e47f190cbe61a96945c13e9551048d42cef · fixed in 78c4f964b2f94e405721c093773f6250e1e676b2; From 8f840e47f190cbe61a96945c13e9551048d42cef · fixed in f5af203dec6e0e7a6090fcc2130e9f3901bfc84d; From 8f840e47f190cbe61a96945c13e9551048d42cef · fixed in 5eba3e48d78edd7551b992cb7ba687019b3a78da
- Linux Linux
4.7
- KernelLinux
From 4.7.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/6657af827e21883ae90693e42e7f59a6aab690b5
- stable/c/b2be72d401833194917e44fbd8d8144bb4f2db16
- stable/c/5425de8bd6e9fe5bd67d158e3348171ae7510117
- stable/c/e97c2a535e23ed0fdd2660993fb3f10d9535c9bc
- stable/c/480f754580b5686b928977d16a59f20cef83ff01
- stable/c/78c4f964b2f94e405721c093773f6250e1e676b2
- stable/c/f5af203dec6e0e7a6090fcc2130e9f3901bfc84d
- stable/c/5eba3e48d78edd7551b992cb7ba687019b3a78da