Description
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.
CVSS breakdown
Affected products
- Linux / Linux610bfc6bc99bc83680d190ebc69359a05fc7f605 – e4f3f6b818aa6a678bc54a2d4e0bece2303c6a64
- Linux / Linux610bfc6bc99bc83680d190ebc69359a05fc7f605 – 37be61825b15534a16ff9cfc9546de155b6df982
- Linux / Linux610bfc6bc99bc83680d190ebc69359a05fc7f605 – 975563c5de1123dde1ec7946bf5556d20c89d74e
- Linux / Linux610bfc6bc99bc83680d190ebc69359a05fc7f605 – f653b040dad1af70fa5cd4fe085e4758925480c9
- Linux / Linux610bfc6bc99bc83680d190ebc69359a05fc7f605 – e910dbf509125fe51ad68e4fa74dc8ab0a8e787a
- Linux / Linux610bfc6bc99bc83680d190ebc69359a05fc7f605 – 3eb8bcb823391bd58997831b3c9c152a4ba8e255
- Linux / Linux610bfc6bc99bc83680d190ebc69359a05fc7f605 – fdb2c96efb2baeb3725e9ce3ede8f1e36f5490f0
- Linux / Linux610bfc6bc99bc83680d190ebc69359a05fc7f605 – 9cd3f16c320bfdadd4509358122368deb56a5741
- Linux / Linux3.13 – 3.13
- Linux / Linux0 – 3.13
- Linux / Linux5.10.258 – 5.10.*
- Linux / Linux5.15.209 – 5.15.*
- Linux / Linux6.1.175 – 6.1.*
- Linux / Linux6.6.142 – 6.6.*
- Linux / Linux6.12.92 – 6.12.*
- Linux / Linux6.18.34 – 6.18.*
- Linux / Linux7.0.11 – 7.0.*
- Linux / Linux7.1 – *
References
- MISChttps://git.kernel.org/stable/c/e4f3f6b818aa6a678bc54a2d4e0bece2303c6a64
- MISChttps://git.kernel.org/stable/c/37be61825b15534a16ff9cfc9546de155b6df982
- MISChttps://git.kernel.org/stable/c/975563c5de1123dde1ec7946bf5556d20c89d74e
- MISChttps://git.kernel.org/stable/c/f653b040dad1af70fa5cd4fe085e4758925480c9
- MISChttps://git.kernel.org/stable/c/e910dbf509125fe51ad68e4fa74dc8ab0a8e787a
- MISChttps://git.kernel.org/stable/c/3eb8bcb823391bd58997831b3c9c152a4ba8e255
- MISChttps://git.kernel.org/stable/c/fdb2c96efb2baeb3725e9ce3ede8f1e36f5490f0
- MISChttps://git.kernel.org/stable/c/9cd3f16c320bfdadd4509358122368deb56a5741