Skip to content
CVE PROGRAM SOURCE RECORDUnscored

CVE-2026-80839

batman-adv: reject unrepresentable multicast TVLV offsets

Description

In the Linux kernel, the following vulnerability has been resolved: batman-adv: reject unrepresentable multicast TVLV offsets The network and transport header fields in struct sk_buff are 16-bit offsets from skb->head, and U16_MAX is reserved as the unset transport header value. batadv_tvlv_call_handler() sets both fields from a received multicast TVLV without checking whether the TVLV end is representable. If the end offset exceeds the field's range, skb_set_transport_header() truncates it so that the transport header precedes the network header. The negative difference is then returned by skb_network_header_len() as a large u32. batadv_mcast_forw_packet() consequently accepts an oversized multicast tracker and accesses memory beyond the skb data. Add skb_set_transport_header_careful(), an offset-aware counterpart to skb_reset_transport_header_careful(), which validates the final head-relative offset before assigning it. Use the new helper in batadv_tvlv_call_handler() and reject unrepresentable TVLVs before setting the network header.

Affected products

Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.

Linux Linux

Default version status: unaffected

  • 07afe1ba288c04280622fa002ed385f1ac0b6fe6 to < da1f5aa7ec93f2cc17f5cd30efc54f62af433cf2affected
  • 07afe1ba288c04280622fa002ed385f1ac0b6fe6 to < 916ec741e65af072b98e475feaad98c063da1b7caffected
  • 07afe1ba288c04280622fa002ed385f1ac0b6fe6 to < 1b466746fe109127fd983100a228cdd1f1f6ece2affected
  • 07afe1ba288c04280622fa002ed385f1ac0b6fe6 to < 2b46baa591d0a7c16b62f150917187e70d053be6affected
  • 07afe1ba288c04280622fa002ed385f1ac0b6fe6 to < f12c2de4f542e3220e17e0606f492110064f04cbaffected

Linux Linux

Default version status: affected

  • 6.8affected
  • 0 to < 6.8unaffected
  • 6.12.108 to ≤ 6.12.*unaffected
  • 6.18.49 to ≤ 6.18.*unaffected
  • 7.1.13 to ≤ 7.1.*unaffected
  • 7.2.3 to ≤ 7.2.*unaffected
  • 7.3 to ≤ *unaffected

References