CVE-2026-52934
Analyzed Analyzed - Analysis Complete

Buffer Overflow in Linux Kernel batman-adv TVLV Handling

Vulnerability report for CVE-2026-52934, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-06-24

Last updated on: 2026-07-08

Assigner: kernel.org

Description

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.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-06-24
Last Modified
2026-07-08
Generated
2026-07-14
AI Q&A
2026-06-24
EPSS Evaluated
2026-07-13
NVD
EUVD

Affected Vendors & Products

Showing 11 associated CPEs
Vendor Product Version / Range
linux linux_kernel 7.1
linux linux_kernel 7.1
linux linux_kernel 7.1
linux linux_kernel 7.1
linux linux_kernel From 6.13 (inc) to 6.18.34 (exc)
linux linux_kernel From 6.19 (inc) to 7.0.11 (exc)
linux linux_kernel From 5.16 (inc) to 6.1.176 (exc)
linux linux_kernel From 6.2 (inc) to 6.6.143 (exc)
linux linux_kernel From 6.7 (inc) to 6.12.93 (exc)
linux linux_kernel From 5.11 (inc) to 5.15.210 (exc)
linux linux_kernel From 3.13 (inc) to 5.10.259 (exc)

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-UNKNOWN

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability exists in the Linux kernel's batman-adv component, specifically in the handling of TVLV packets. The function batadv_tvlv_container_list_size() calculates the total size of a TVLV packet section using a 16-bit unsigned integer (u16) accumulator. If the total size exceeds the maximum value for u16 (U16_MAX), the size value wraps around, resulting in an undersized allocation in batadv_tvlv_container_ogm_append(). Consequently, a memcpy-style operation writes beyond the allocated buffer, causing kernel memory corruption.

The fix involved changing the return type of batadv_tvlv_container_list_size() to size_t to prevent overflow, and adding a check in batadv_tvlv_container_ogm_append() to ensure the computed length does not exceed U16_MAX, aborting the operation if it does.

Impact Analysis

This vulnerability can lead to kernel memory corruption due to a buffer overflow caused by an undersized memory allocation followed by an out-of-bounds write. Such corruption can destabilize the system, potentially causing crashes, data loss, or enabling an attacker to execute arbitrary code with kernel privileges.

Mitigation Strategies

To mitigate this vulnerability, update your Linux kernel to a version where the batman-adv module includes the fix that rejects oversized TVLV packets. This fix involves widening the return type in batadv_tvlv_container_list_size() and adding checks against U16_MAX to prevent buffer overflows.

If updating the kernel immediately is not possible, consider disabling or restricting the use of the batman-adv module to prevent processing of potentially malicious TVLV packets.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-52934. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart