CVE-2026-45843: slip: bound decode() reads against the compressed packet length
In the Linux kernel, the following vulnerability has been resolved:
slip: bound decode() reads against the compressed packet length
slhcuncompress() parses a VJ-compressed TCP header by advancing a pointer through the packet via decode() and pull16(). Neither helper bounds-checks against isize, and decode() masks its return with & 0xffff so it can never return the -1 that callers test for -- those error paths are dead code.
A short compressed frame whose change byte requests optional fields lets decode() read past the end of the packet. The over-read bytes are folded into the cached cstate and reflected into subsequent reconstructed packets.
Make decode() and pull16() take the packet end pointer and return -1 when exhausted. Add a bounds check before the TCP-checksum read. The existing == -1 tests now do what they were always meant to.
Affected Software
Remediation
Event History
Frequently Asked Questions
What is the severity of CVE-2026-45843?
The severity of CVE-2026-45843 is high with a score of 8.2.
How does CVE-2026-45843 affect the Linux kernel?
CVE-2026-45843 affects the Linux kernel by allowing bound decode() reads against the compressed packet length, which may lead to potential information exposure.
What versions of the Linux kernel are vulnerable to CVE-2026-45843?
The specific versions of the Linux kernel that are vulnerable to CVE-2026-45843 have not been detailed in the provided data.
How can I fix CVE-2026-45843?
To fix CVE-2026-45843, it is recommended to update to the latest patched version of the Linux kernel.
Is there a workaround for CVE-2026-45843 until a fix is applied?
There are currently no documented workarounds for CVE-2026-45843, so applying the fix is essential.