CVE-2026-31659 PUBLISHED

batman-adv: reject oversized global TT response buffers

Assigner: Linux
Reserved: 09.03.2026 Published: 24.04.2026 Updated: 24.04.2026

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

Vendor Linux
Product Linux
Versions Default: unaffected
  • affected from 7ea7b4a142758deaf46c1af0ca9ceca6dd55138b to 7e5d007e0df946bffb8542fb112e0044014a5897 (excl.)
  • affected from 7ea7b4a142758deaf46c1af0ca9ceca6dd55138b to 2997f4bd1f982e7013709946e00be89b507693fa (excl.)
  • affected from 7ea7b4a142758deaf46c1af0ca9ceca6dd55138b to 95c71365a2222908441b54d6f2c315e0c79fcec3 (excl.)
  • affected from 7ea7b4a142758deaf46c1af0ca9ceca6dd55138b to 69d61639bc7e963c3b645e570279d731e7c89062 (excl.)
  • affected from 7ea7b4a142758deaf46c1af0ca9ceca6dd55138b to f970646b9a39539d1bac86822ac78b5915455ea9 (excl.)
  • affected from 7ea7b4a142758deaf46c1af0ca9ceca6dd55138b to de6c1dc3c7d01a152607e6fcecee4d5288283f10 (excl.)
  • affected from 7ea7b4a142758deaf46c1af0ca9ceca6dd55138b to cf2199171ef799ca7270019125f4a91bd20ad4d9 (excl.)
  • affected from 7ea7b4a142758deaf46c1af0ca9ceca6dd55138b to 3a359bf5c61d52e7f09754108309d637532164a6 (excl.)
Vendor Linux
Product Linux
Versions Default: affected
  • Version 3.13 is affected
  • unaffected from 0 to 3.13 (excl.)
  • unaffected from 5.10.253 to 5.10.* (incl.)
  • unaffected from 5.15.203 to 5.15.* (incl.)
  • unaffected from 6.1.169 to 6.1.* (incl.)
  • unaffected from 6.6.135 to 6.6.* (incl.)
  • unaffected from 6.12.82 to 6.12.* (incl.)
  • unaffected from 6.18.23 to 6.18.* (incl.)
  • unaffected from 6.19.13 to 6.19.* (incl.)
  • unaffected from 7.0 to * (incl.)

References