Description
In the Linux kernel, the following vulnerability has been resolved: batman-adv: reject oversized global TT response buffers batadv_tt_prepare_tvlv_global_data() builds the allocation length for a global TT response in 16-bit temporaries. When a remote originator advertises a large enough global TT, the TT payload length plus the VLAN header offset can exceed 65535 and wrap before kmalloc(). The full-table response path still uses the original TT payload length when it fills tt_change, so the wrapped allocation is too small and batadv_tt_prepare_tvlv_global_data() writes past the end of the heap object before the later packet-size check runs. Fix this by rejecting TT responses whose TVLV value length cannot fit in the 16-bit TVLV payload length field.
Product status
7ea7b4a142758deaf46c1af0ca9ceca6dd55138b (git) before 7e5d007e0df946bffb8542fb112e0044014a5897
7ea7b4a142758deaf46c1af0ca9ceca6dd55138b (git) before 2997f4bd1f982e7013709946e00be89b507693fa
7ea7b4a142758deaf46c1af0ca9ceca6dd55138b (git) before 95c71365a2222908441b54d6f2c315e0c79fcec3
7ea7b4a142758deaf46c1af0ca9ceca6dd55138b (git) before 69d61639bc7e963c3b645e570279d731e7c89062
7ea7b4a142758deaf46c1af0ca9ceca6dd55138b (git) before f970646b9a39539d1bac86822ac78b5915455ea9
7ea7b4a142758deaf46c1af0ca9ceca6dd55138b (git) before de6c1dc3c7d01a152607e6fcecee4d5288283f10
7ea7b4a142758deaf46c1af0ca9ceca6dd55138b (git) before cf2199171ef799ca7270019125f4a91bd20ad4d9
7ea7b4a142758deaf46c1af0ca9ceca6dd55138b (git) before 3a359bf5c61d52e7f09754108309d637532164a6
3.13
Any version before 3.13
5.10.253 (semver)
5.15.203 (semver)
6.1.169 (semver)
6.6.135 (semver)
6.12.82 (semver)
6.18.23 (semver)
6.19.13 (semver)
7.0 (original_commit_for_fix)
References
git.kernel.org/...c/7e5d007e0df946bffb8542fb112e0044014a5897
git.kernel.org/...c/2997f4bd1f982e7013709946e00be89b507693fa
git.kernel.org/...c/95c71365a2222908441b54d6f2c315e0c79fcec3
git.kernel.org/...c/69d61639bc7e963c3b645e570279d731e7c89062
git.kernel.org/...c/f970646b9a39539d1bac86822ac78b5915455ea9
git.kernel.org/...c/de6c1dc3c7d01a152607e6fcecee4d5288283f10
git.kernel.org/...c/cf2199171ef799ca7270019125f4a91bd20ad4d9
git.kernel.org/...c/3a359bf5c61d52e7f09754108309d637532164a6