batman-adv: fix fragment reassembly length accounting
- 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.258, 5.15.209, 6.1.175, 6.6.142, 6.12.92, 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: total
Summary
In the Linux kernel, the following vulnerability has been resolved: batman-adv: fix fragment reassembly length accounting batman-adv keeps a running payload length for queued fragments and uses it to validate a fragment chain before reassembly. That accounting currently allows the accumulated fragment length to be truncated during updates. As a result, malformed fragment chains can bypass the intended validation and drive reassembly with inconsistent length state, leading to a local denial of service. Fix the accounting by storing the accumulated length in a length-typed field and rejecting update overflows before the existing validation logic runs. The fix was verified against the original reproducer and against valid fragment reassembly paths.
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: yes · Technical impact: total
- Record last updated
Affected versions
- Linux Linux
From 610bfc6bc99bc83680d190ebc69359a05fc7f605 · fixed in e4f3f6b818aa6a678bc54a2d4e0bece2303c6a64; From 610bfc6bc99bc83680d190ebc69359a05fc7f605 · fixed in 37be61825b15534a16ff9cfc9546de155b6df982; From 610bfc6bc99bc83680d190ebc69359a05fc7f605 · fixed in 975563c5de1123dde1ec7946bf5556d20c89d74e; From 610bfc6bc99bc83680d190ebc69359a05fc7f605 · fixed in f653b040dad1af70fa5cd4fe085e4758925480c9; From 610bfc6bc99bc83680d190ebc69359a05fc7f605 · fixed in e910dbf509125fe51ad68e4fa74dc8ab0a8e787a; From 610bfc6bc99bc83680d190ebc69359a05fc7f605 · fixed in 3eb8bcb823391bd58997831b3c9c152a4ba8e255; From 610bfc6bc99bc83680d190ebc69359a05fc7f605 · fixed in fdb2c96efb2baeb3725e9ce3ede8f1e36f5490f0; From 610bfc6bc99bc83680d190ebc69359a05fc7f605 · fixed in 9cd3f16c320bfdadd4509358122368deb56a5741
- Linux Linux
3.13
- KernelLinux
From 3.13.0 · fixed in 5.10.258; From 5.11.0 · fixed in 5.15.209; From 5.16.0 · fixed in 6.1.175; From 6.2.0 · fixed in 6.6.142; From 6.7.0 · fixed in 6.12.92; From 6.13.0 · fixed in 6.18.34; From 6.19.0 · fixed in 7.0.11
References 8
git.kernel.org
- stable/c/e4f3f6b818aa6a678bc54a2d4e0bece2303c6a64
- stable/c/37be61825b15534a16ff9cfc9546de155b6df982
- stable/c/975563c5de1123dde1ec7946bf5556d20c89d74e
- stable/c/f653b040dad1af70fa5cd4fe085e4758925480c9
- stable/c/e910dbf509125fe51ad68e4fa74dc8ab0a8e787a
- stable/c/3eb8bcb823391bd58997831b3c9c152a4ba8e255
- stable/c/fdb2c96efb2baeb3725e9ce3ede8f1e36f5490f0
- stable/c/9cd3f16c320bfdadd4509358122368deb56a5741