net: slip: serialize receive against buffer reallocation
- 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.265, 5.15.216, 6.1.183, 6.6.148, 6.12.101, 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: total
Summary
In the Linux kernel, the following vulnerability has been resolved: net: slip: serialize receive against buffer reallocation sl_realloc_bufs() replaces rbuff and updates buffsize while holding sl->lock. slip_receive_buf() reads those fields and writes through rbuff without holding the lock. An MTU change can therefore race with receive processing. An MTU shrink can expose the new smaller rbuff with the old larger bound, causing an out-of-bounds write. A receive callback which already loaded the old rbuff can instead continue writing after that buffer has been freed. Serialize receive processing with sl_realloc_bufs() by holding sl->lock while consuming each receive batch.
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: no · Technical impact: total
- Record last updated
Affected versions
- Linux Linux
From 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 · fixed in 8180daf2b66155f84ec4f9e3f95488c8a3421716; From 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 · fixed in 189a550eb7e1dc10018718ddfc46d003ffe58653; From 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 · fixed in 1be09d175b627fad7f6bec7ad27b8a4a99863912; From 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 · fixed in eb3836eab47487823f362e6985e170a1e15f20fd; From 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 · fixed in 44401f7dd9940ced7098930ef64f5a332f279fc2; From 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 · fixed in 5d07b178bef511d69558cfc89fe1129258dc39f8; From 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 · fixed in 0e37bbd6d617eb52bace49390e99eaedc1af73ce; From 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 · fixed in ee7f9bb9320add61f7b367d7e6cd55e3a3a4d65d
- Linux Linux
2.6.12
- KernelLinux
From 2.6.12 · fixed in 5.10.265; From 5.11.0 · fixed in 5.15.216; From 5.16.0 · fixed in 6.1.183; From 6.2.0 · fixed in 6.6.148; From 6.7.0 · fixed in 6.12.101; From 6.13.0 · fixed in 6.18.42; From 6.19.0 · fixed in 7.1.6
References 8
git.kernel.org
- stable/c/8180daf2b66155f84ec4f9e3f95488c8a3421716
- stable/c/189a550eb7e1dc10018718ddfc46d003ffe58653
- stable/c/1be09d175b627fad7f6bec7ad27b8a4a99863912
- stable/c/eb3836eab47487823f362e6985e170a1e15f20fd
- stable/c/44401f7dd9940ced7098930ef64f5a332f279fc2
- stable/c/5d07b178bef511d69558cfc89fe1129258dc39f8
- stable/c/0e37bbd6d617eb52bace49390e99eaedc1af73ce
- stable/c/ee7f9bb9320add61f7b367d7e6cd55e3a3a4d65d