CVE-2025-39839: batman-adv: fix OOB read/write in network-coding decode
In the Linux kernel, the following vulnerability has been resolved:
batman-adv: fix OOB read/write in network-coding decode
batadv_nc_skb_decode_packet() trusts coded_len and checks only against
skb->len. XOR starts at sizeof(struct batadv_unicast_packet), reducing
payload headroom, and the source skb length is not verified, allowing an
out-of-bounds read and a small out-of-bounds write.
Validate that coded_len fits within the payload area of both destination
and source sk_buffs before XORing.
Security readout for executives and security teams
Plain-English summary
A flaw in Linux's batman-adv network-coding feature can make the kernel read or overwrite memory beyond valid packet buffers. A nearby network attacker may be able to compromise data or crash an exposed system without credentials or user interaction.
Executive priority
Treat this as a high-priority, exposure-dependent kernel issue. Promptly identify systems using batman-adv network coding and update exposed deployments. Emergency organization-wide action is not supported without confirming feature usage, and the supplied sources do not substantiate active exploitation.
Technical view
batadv_nc_skb_decode_packet() validated coded_len against the destination skb's total length, although XOR processing begins after the batadv_unicast_packet header. It also failed to validate the source skb length. This permits an out-of-bounds read and a small out-of-bounds write. Stable fixes validate both payload areas before XOR processing.
Likely exposure
Exposure is most likely on affected Linux systems where batman-adv network coding is enabled and reachable by an adjacent network participant. Systems not using this feature are less likely to expose the vulnerable path. The supplied version data is insufficient for reliable distribution-specific build mapping.
Exploitation context
The bundle marks this CVE as absent from KEV and provides no evidence of active exploitation or public weaponization. This does not prove exploitation has not occurred. Its CVSS vector indicates adjacent-network access, low complexity, no required privileges, and no user interaction.
Researcher notes
The vulnerable boundary calculation confuses total skb length with usable payload length and omits equivalent validation for the source skb. The correction checks coded_len against both payload regions. The mechanism and fix are well documented, but the bundle's version list is ambiguous; distribution and appliance builds require vendor confirmation.
Mitigation direction
Apply a vendor-supported kernel update containing the applicable CVE-2025-39839 stable fix.
Consult Linux, distribution, or device-vendor guidance for exact fixed packages and reboot requirements.
Prioritize systems using batman-adv network coding on broadly accessible adjacent networks.
If updates are unavailable, request a vendor-supported mitigation rather than assuming feature changes are safe.
Validation and detection
Record the running kernel release and package build on potentially affected systems.
Confirm whether batman-adv is present, enabled, and configured for network coding.
Map each kernel build to an applicable stable fix commit or vendor advisory.
After updating, verify the fixed kernel is running and the vendor marks the CVE resolved.
Review kernel telemetry for crashes or memory-corruption symptoms; their absence does not disprove compromise.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2025-39839 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
1CVSS vectors
3Timeline events
2ADP providers
13Source links
CVSS vector scores
1 official score
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.