KernelScan.io

HIGH Introduced in 5.18

bonding NdDetect OOB

CVE-2026-98089

CVSS 7.5 / 10.0 KernelScan AI

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

01

In the Linux kernel, the following vulnerability has been resolved: bonding: alb: fix uninitialized transport header access in alb_determine_nd() alb_determine_nd() uses icmp6_hdr(skb) to inspect ICMPv6 headers. However, in xmit paths (e.g. packets sent via AF_PACKET / raw sockets or forwarded packets), skb->transport_header is not guaranteed to be initialized. While pskb_network_may_pull() ensures the packet data is linear starting from the network header, it does not set or adjust the transport header offset. Dereferencing icmp6_hdr(skb) can therefore access out-of-bounds memory. Fetch the icmp6hdr directly after ipv6hdr following pskb_network_may_pull(), and reload ipv6hdr in case pskb_may_pull() reallocated skb->head. Also remove the unused bond argument from alb_determine_nd().

02

Engine v0.6.0

Risk summary

Systems using network bonding in balance-alb or balance-tlb mode with IPv6 enabled are at risk. An attacker can trigger an out-of-bounds memory read by sending IPv6 packets through a bond interface, potentially causing a kernel crash. The vulnerability is reachable both from the network via forwarded traffic and locally via raw sockets.

Affecteddrivers/net/bonding/bond_alb.c (bonding)

Vulnerability analysis

The bonding driver's transmit path for ALB mode inspects IPv6 Neighbor Discovery packets by reading the ICMPv6 header at a packet offset that may not have been set for packets sent via raw sockets or forwarded through the system. When this offset is uninitialized, the resulting memory read can access data beyond the valid packet buffer. The fix derives the ICMPv6 header position directly from the IPv6 header after verifying enough packet data is available, instead of relying on the potentially unset offset. The vulnerable path is reached whenever an IPv6 packet is transmitted through a network bond interface configured in balance-alb or balance-tlb mode — either from a local process with raw socket access or from network traffic forwarded through the bond.

03

BranchIntroducedFixed inPatch commit
6.15.186.1.189862c8eb69476
6.125.186.12.111e39cf90bd856
6.185.186.18.5327314f96d29b
6.65.186.6.1587adb1bf25b0c
7.25.187.2.73b178894931a
mainline5.187.370f3995830d3
cip/6.15.186.1.189-cip61862c8eb69476
cip/6.1-rt5.186.1.189-cip61-rt32862c8eb69476
cip/6.125.186.12.111-cip32e39cf90bd856

04

State of the newest release of each Civil Infrastructure Platform SLTS tree, from CIP's own fix records.

CIP treeState
cip/6.12Fixed in 6.12.111-cip32
cip/6.1Fixed in 6.1.189-cip61
cip/6.1-rtFixed in 6.1.189-cip61-rt32