{"id":"CVE-2026-52934","state":"PUBLISHED","title":"batman-adv: tvlv: reject oversized TVLV packets","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nbatman-adv: tvlv: reject oversized TVLV packets\n\nbatadv_tvlv_container_ogm_append() builds a TVLV packet section from\nthe tvlv.container_list. The total size of this section is computed by\nbatadv_tvlv_container_list_size(), which sums the sizes of all registered\ncontainers.\n\nThe return type and accumulator in batadv_tvlv_container_list_size() were\nu16. If the accumulated size exceeds U16_MAX, the value wraps around,\ncausing the subsequent allocation in batadv_tvlv_container_ogm_append()\nto be undersized. The memcpy-style copy that follows would then write\nbeyond the end of the allocated buffer, corrupting kernel memory.\n\nFix this by widening the return type of batadv_tvlv_container_list_size()\nto size_t. In batadv_tvlv_container_ogm_append(), check the computed length\nagainst U16_MAX before proceeding, and bail out as if the allocation had\nfailed when the limit is exceeded.","publishedAt":"2026-06-24T07:14:25.321Z","updatedAt":"2026-08-05T12:31:52.290Z","severity":{"score":8.8,"label":"High","version":"3.1","vector":"CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","source":"Linux"},"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"ef26157747d42254453f6b3ac2bd8bd3c53339c3","status":"affected","lessThan":"c02aa6c0c9d1bea9bb75dea362b75ad225137bae","versionType":"git"},{"version":"ef26157747d42254453f6b3ac2bd8bd3c53339c3","status":"affected","lessThan":"1595628a2f877d052eda18865ccf539392c47c04","versionType":"git"},{"version":"ef26157747d42254453f6b3ac2bd8bd3c53339c3","status":"affected","lessThan":"6448a49344e87487b61bd88cb850cd694a0f576d","versionType":"git"},{"version":"ef26157747d42254453f6b3ac2bd8bd3c53339c3","status":"affected","lessThan":"13493b00dd1e05a705981e052158652ea23eb482","versionType":"git"},{"version":"ef26157747d42254453f6b3ac2bd8bd3c53339c3","status":"affected","lessThan":"94db72e9dac202e017ee3db22c59d17e4f3bf171","versionType":"git"},{"version":"ef26157747d42254453f6b3ac2bd8bd3c53339c3","status":"affected","lessThan":"ede47988ac5687793745b17c1634a496a2299919","versionType":"git"},{"version":"ef26157747d42254453f6b3ac2bd8bd3c53339c3","status":"affected","lessThan":"94a3d72cd9b21116d7c6d5bdc57c11401fc28557","versionType":"git"},{"version":"ef26157747d42254453f6b3ac2bd8bd3c53339c3","status":"affected","lessThan":"f50487e3566358b2b982b7801945e858c78ad9ab","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/batman-adv/tvlv.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"3.13","status":"affected"},{"version":"0","status":"unaffected","lessThan":"3.13","versionType":"semver"},{"version":"5.10.259","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.210","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.176","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.143","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.93","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.34","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.0.11","status":"unaffected","lessThanOrEqual":"7.0.*","versionType":"semver"},{"version":"7.1","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/batman-adv/tvlv.c"]}],"references":["https://git.kernel.org/stable/c/c02aa6c0c9d1bea9bb75dea362b75ad225137bae","https://git.kernel.org/stable/c/1595628a2f877d052eda18865ccf539392c47c04","https://git.kernel.org/stable/c/6448a49344e87487b61bd88cb850cd694a0f576d","https://git.kernel.org/stable/c/13493b00dd1e05a705981e052158652ea23eb482","https://git.kernel.org/stable/c/94db72e9dac202e017ee3db22c59d17e4f3bf171","https://git.kernel.org/stable/c/ede47988ac5687793745b17c1634a496a2299919","https://git.kernel.org/stable/c/94a3d72cd9b21116d7c6d5bdc57c11401fc28557","https://git.kernel.org/stable/c/f50487e3566358b2b982b7801945e858c78ad9ab"],"weaknesses":[],"ingestedAt":"2026-10-29T20:12:16.098Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/52xxx/CVE-2026-52934.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-52934","state":"PUBLISHED","datePublished":"2026-06-24T07:14:25.321Z","dateUpdated":"2026-08-05T12:31:52.290Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-06-09T07:44:35.369Z"},"containers":{"cna":{"title":"batman-adv: tvlv: reject oversized TVLV packets","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nbatman-adv: tvlv: reject oversized TVLV packets\n\nbatadv_tvlv_container_ogm_append() builds a TVLV packet section from\nthe tvlv.container_list. The total size of this section is computed by\nbatadv_tvlv_container_list_size(), which sums the sizes of all registered\ncontainers.\n\nThe return type and accumulator in batadv_tvlv_container_list_size() were\nu16. If the accumulated size exceeds U16_MAX, the value wraps around,\ncausing the subsequent allocation in batadv_tvlv_container_ogm_append()\nto be undersized. The memcpy-style copy that follows would then write\nbeyond the end of the allocated buffer, corrupting kernel memory.\n\nFix this by widening the return type of batadv_tvlv_container_list_size()\nto size_t. In batadv_tvlv_container_ogm_append(), check the computed length\nagainst U16_MAX before proceeding, and bail out as if the allocation had\nfailed when the limit is exceeded."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"ef26157747d42254453f6b3ac2bd8bd3c53339c3","status":"affected","lessThan":"c02aa6c0c9d1bea9bb75dea362b75ad225137bae","versionType":"git"},{"version":"ef26157747d42254453f6b3ac2bd8bd3c53339c3","status":"affected","lessThan":"1595628a2f877d052eda18865ccf539392c47c04","versionType":"git"},{"version":"ef26157747d42254453f6b3ac2bd8bd3c53339c3","status":"affected","lessThan":"6448a49344e87487b61bd88cb850cd694a0f576d","versionType":"git"},{"version":"ef26157747d42254453f6b3ac2bd8bd3c53339c3","status":"affected","lessThan":"13493b00dd1e05a705981e052158652ea23eb482","versionType":"git"},{"version":"ef26157747d42254453f6b3ac2bd8bd3c53339c3","status":"affected","lessThan":"94db72e9dac202e017ee3db22c59d17e4f3bf171","versionType":"git"},{"version":"ef26157747d42254453f6b3ac2bd8bd3c53339c3","status":"affected","lessThan":"ede47988ac5687793745b17c1634a496a2299919","versionType":"git"},{"version":"ef26157747d42254453f6b3ac2bd8bd3c53339c3","status":"affected","lessThan":"94a3d72cd9b21116d7c6d5bdc57c11401fc28557","versionType":"git"},{"version":"ef26157747d42254453f6b3ac2bd8bd3c53339c3","status":"affected","lessThan":"f50487e3566358b2b982b7801945e858c78ad9ab","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/batman-adv/tvlv.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"3.13","status":"affected"},{"version":"0","status":"unaffected","lessThan":"3.13","versionType":"semver"},{"version":"5.10.259","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.210","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.176","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.143","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.93","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.34","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.0.11","status":"unaffected","lessThanOrEqual":"7.0.*","versionType":"semver"},{"version":"7.1","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/batman-adv/tvlv.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/c02aa6c0c9d1bea9bb75dea362b75ad225137bae"},{"url":"https://git.kernel.org/stable/c/1595628a2f877d052eda18865ccf539392c47c04"},{"url":"https://git.kernel.org/stable/c/6448a49344e87487b61bd88cb850cd694a0f576d"},{"url":"https://git.kernel.org/stable/c/13493b00dd1e05a705981e052158652ea23eb482"},{"url":"https://git.kernel.org/stable/c/94db72e9dac202e017ee3db22c59d17e4f3bf171"},{"url":"https://git.kernel.org/stable/c/ede47988ac5687793745b17c1634a496a2299919"},{"url":"https://git.kernel.org/stable/c/94a3d72cd9b21116d7c6d5bdc57c11401fc28557"},{"url":"https://git.kernel.org/stable/c/f50487e3566358b2b982b7801945e858c78ad9ab"}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","baseScore":8.8,"baseSeverity":"HIGH"},"scenarios":[{"lang":"en","value":"AV:A - batman-adv is a layer-2 mesh/bridge subsystem, and the defensible remote path is from an attached same-link client or mesh segment causing local TT TVLV growth before periodic OGM generation. This is adjacent-network reachability rather than a routable Internet service.\nAC:L - Once on the L2 segment in a vulnerable high-MTU/fragmentation deployment, the attacker can repeatedly emit frames with many source MACs and wait for the periodic OGM append path. No race or probabilistic condition is required.\nPR:N - The attacker does not need a local account or kernel privileges on the vulnerable system in the adjacent-client scenario. Administrative netlink privileges are needed to deploy/configure batman-adv, but not to trigger TT learning on an already deployed node.\nUI:N - No victim user action is required after the vulnerable batman-adv node is configured and active. OGM generation is periodic kernel work.\nS:U - The corruption occurs in the vulnerable host kernel and affects resources under the same kernel security authority. This is not a VM escape, IOMMU bypass, or other cross-scope boundary.\nC:H - The bug is a kernel heap out-of-bounds write from an undersized kmalloc buffer, with attacker-influenced TVLV/TT data. Such memory corruption is reasonably exploitable for information disclosure, so confidentiality is High.\nI:H - The memcpy-style overflow corrupts adjacent kernel heap memory and can plausibly be shaped into arbitrary write or code execution. Out-of-bounds kernel writes are scored as High integrity impact.\nA:H - Even without full exploitation, the heap overflow can corrupt kernel memory and crash or panic the system. Availability impact is therefore High."}]}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-08-05T12:31:52.290Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.13","versionEndExcluding":"5.10.259"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.13","versionEndExcluding":"5.15.210"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.13","versionEndExcluding":"6.1.176"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.13","versionEndExcluding":"6.6.143"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.13","versionEndExcluding":"6.12.93"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.13","versionEndExcluding":"6.18.34"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.13","versionEndExcluding":"7.0.11"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.13","versionEndExcluding":"7.1"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}}}}}