CVE-2026-52934

Summary

In the Linux kernel, the following vulnerability has been resolved:

batman-adv: tvlv: reject oversized TVLV packets

batadv_tvlv_container_ogm_append() builds a TVLV packet section from the tvlv.container_list. The total size of this section is computed by batadv_tvlv_container_list_size(), which sums the sizes of all registered containers.

The return type and accumulator in batadv_tvlv_container_list_size() were u16. If the accumulated size exceeds U16_MAX, the value wraps around, causing the subsequent allocation in batadv_tvlv_container_ogm_append() to be undersized. The memcpy-style copy that follows would then write beyond the end of the allocated buffer, corrupting kernel memory.

Fix this by widening the return type of batadv_tvlv_container_list_size() to size_t. In batadv_tvlv_container_ogm_append(), check the computed length against U16_MAX before proceeding, and bail out as if the allocation had failed when the limit is exceeded.

Affected Software

VendorProductVersion RangeStatus
LinuxLinuxef26157747d42254453f6b3ac2bd8bd3c53339c3 < c02aa6c0c9d1bea9bb75dea362b75ad225137baeaffected
LinuxLinuxef26157747d42254453f6b3ac2bd8bd3c53339c3 < 1595628a2f877d052eda18865ccf539392c47c04affected
LinuxLinuxef26157747d42254453f6b3ac2bd8bd3c53339c3 < 6448a49344e87487b61bd88cb850cd694a0f576daffected
LinuxLinuxef26157747d42254453f6b3ac2bd8bd3c53339c3 < 13493b00dd1e05a705981e052158652ea23eb482affected
LinuxLinuxef26157747d42254453f6b3ac2bd8bd3c53339c3 < 94db72e9dac202e017ee3db22c59d17e4f3bf171affected
LinuxLinuxef26157747d42254453f6b3ac2bd8bd3c53339c3 < ede47988ac5687793745b17c1634a496a2299919affected
LinuxLinuxef26157747d42254453f6b3ac2bd8bd3c53339c3 < 94a3d72cd9b21116d7c6d5bdc57c11401fc28557affected
LinuxLinuxef26157747d42254453f6b3ac2bd8bd3c53339c3 < f50487e3566358b2b982b7801945e858c78ad9abaffected
LinuxLinux3.13affected
LinuxLinux0 < 3.13unaffected
LinuxLinux5.10.259 <= 5.10.*unaffected
LinuxLinux5.15.210 <= 5.15.*unaffected
LinuxLinux6.1.176 <= 6.1.*unaffected
LinuxLinux6.6.143 <= 6.6.*unaffected
LinuxLinux6.12.93 <= 6.12.*unaffected
LinuxLinux6.18.34 <= 6.18.*unaffected
LinuxLinux7.0.11 <= 7.0.*unaffected
LinuxLinux7.1 <= *unaffected

Weaknesses

References