netfilter: nf_conntrack_sip: fix OOB read in sip_skip_whitespace()
- 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.271, 5.15.222, 6.1.189, 6.6.158, 6.12.111, 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
Summary
In the Linux kernel, the following vulnerability has been resolved: netfilter: nf_conntrack_sip: fix OOB read in sip_skip_whitespace() sip_skip_whitespace() returns dptr unchanged when its own loop exhausts the buffer (dptr == limit), instead of NULL like its sibling sip_follow_continuation() returns on its own "no more data" path. ct_sip_get_header() only checks for NULL after calling it: dptr = sip_skip_whitespace(dptr, limit); if (dptr == NULL) break; if (*dptr != ':' || ++dptr >= limit) break; so a recognized header name followed only by spaces/tabs running to the exact end of the SIP payload, with no colon, makes the very next statement read one byte past the buffer. Make both "no more data" outcomes return NULL, matching the convention sip_follow_continuation() already uses and that both existing callers already check for.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From ea45f12a2766dae54e5426a23e8f4bafdbe2782e · fixed in 9ae0a87e6f513293677fe286729fbae34d592215; From ea45f12a2766dae54e5426a23e8f4bafdbe2782e · fixed in b6277622b7323000895b674321c9a1f060553188; From ea45f12a2766dae54e5426a23e8f4bafdbe2782e · fixed in 0cfb96a118c5c6d46d7a1cfdfa18355ad734ca79; From ea45f12a2766dae54e5426a23e8f4bafdbe2782e · fixed in c6beb08b1a9fdb96795816d8329ed75dd785d48e; From ea45f12a2766dae54e5426a23e8f4bafdbe2782e · fixed in 60c012b2d05e1558b0f30ea3f15a2c3ca2f24d94; From ea45f12a2766dae54e5426a23e8f4bafdbe2782e · fixed in 4be8380e3af008f418f97992c06f23be649a430d; From ea45f12a2766dae54e5426a23e8f4bafdbe2782e · fixed in 4a30aa2ba007db18210dd52219ecbd5528c03523; From ea45f12a2766dae54e5426a23e8f4bafdbe2782e · fixed in e8f8231824b5815f57ce62cba116e511b10196de
- Linux Linux
2.6.26
- KernelLinux
From 2.6.26 · fixed in 5.10.271; From 5.11.0 · fixed in 5.15.222; From 5.16.0 · fixed in 6.1.189; From 6.2.0 · fixed in 6.6.158; From 6.7.0 · fixed in 6.12.111; From 6.13.0 · fixed in 6.18.53; From 6.19.0 · fixed in 7.2.7
References 8
git.kernel.org
- stable/c/9ae0a87e6f513293677fe286729fbae34d592215
- stable/c/b6277622b7323000895b674321c9a1f060553188
- stable/c/0cfb96a118c5c6d46d7a1cfdfa18355ad734ca79
- stable/c/c6beb08b1a9fdb96795816d8329ed75dd785d48e
- stable/c/60c012b2d05e1558b0f30ea3f15a2c3ca2f24d94
- stable/c/4be8380e3af008f418f97992c06f23be649a430d
- stable/c/4a30aa2ba007db18210dd52219ecbd5528c03523
- stable/c/e8f8231824b5815f57ce62cba116e511b10196de