---
id: CVE-2026-43441
title: 'net: bonding: Fix nd_tbl NULL dereference when IPv6 is disabled'
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  net: bonding: Fix nd_tbl NULL dereference when IPv6 is disabled

  When booting with the 'ipv6.disable=1' parameter, the nd_tbl is never
  initialized because inet6_init() …
severity: high
cvss: 7.5
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H'
cvssSource: cna
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 4e24be018eb9dbcefa4b01c07e298b147dc1a4d7 <
    49dbfcb70eca5f6f9043594e1e323c74c39e3863
  - >-
    Linux >= 4e24be018eb9dbcefa4b01c07e298b147dc1a4d7 <
    cf6099ef493b94e140b0fad52482a78853115318
  - >-
    Linux >= 4e24be018eb9dbcefa4b01c07e298b147dc1a4d7 <
    c78f01abe535853f13f0b26cd5b1d2f19bf52e2f
  - >-
    Linux >= 4e24be018eb9dbcefa4b01c07e298b147dc1a4d7 <
    95faa1459b83fa544191e82ccc73856f03b7741f
  - >-
    Linux >= 4e24be018eb9dbcefa4b01c07e298b147dc1a4d7 <
    c9c238066fb254dabf65e27379f93c56112c5b96
  - >-
    Linux >= 4e24be018eb9dbcefa4b01c07e298b147dc1a4d7 <
    30021e969d48e5819d5ae56936c2f34c0f7ce997
  - Linux 5.18
ssvc:
  exploitation: none
  automatable: 'yes'
  technicalImpact: partial
  timestamp: '2026-10-16T15:17:24.934773Z'
published: '2026-05-08'
updated: '2026-10-16'
sourceUpdated: '2026-10-16T15:20:41.817Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-43441'
references:
  - url: 'https://git.kernel.org/stable/c/49dbfcb70eca5f6f9043594e1e323c74c39e3863'
  - url: 'https://git.kernel.org/stable/c/cf6099ef493b94e140b0fad52482a78853115318'
  - url: 'https://git.kernel.org/stable/c/c78f01abe535853f13f0b26cd5b1d2f19bf52e2f'
  - url: 'https://git.kernel.org/stable/c/95faa1459b83fa544191e82ccc73856f03b7741f'
  - url: 'https://git.kernel.org/stable/c/c9c238066fb254dabf65e27379f93c56112c5b96'
  - url: 'https://git.kernel.org/stable/c/30021e969d48e5819d5ae56936c2f34c0f7ce997'
tags:
  - cve.org
epss: 0.00684
epssPercentile: 0.51602
ingestedAt: '2026-10-16T17:24:46.696Z'
---

## Overview

In the Linux kernel, the following vulnerability has been resolved:

net: bonding: Fix nd_tbl NULL dereference when IPv6 is disabled

When booting with the 'ipv6.disable=1' parameter, the nd_tbl is never
initialized because inet6_init() exits before ndisc_init() is called
which initializes it. If bonding ARP/NS validation is enabled, an IPv6
NS/NA packet received on a slave can reach bond_validate_na(), which
calls bond_has_this_ip6(). That path calls ipv6_chk_addr() and can
crash in __ipv6_chk_addr_and_flags().

 BUG: kernel NULL pointer dereference, address: 00000000000005d8
 Oops: Oops: 0000 [#1] SMP NOPTI
 RIP: 0010:__ipv6_chk_addr_and_flags+0x69/0x170
 Call Trace:
  <IRQ>
  ipv6_chk_addr+0x1f/0x30
  bond_validate_na+0x12e/0x1d0 [bonding]
  ? __pfx_bond_handle_frame+0x10/0x10 [bonding]
  bond_rcv_validate+0x1a0/0x450 [bonding]
  bond_handle_frame+0x5e/0x290 [bonding]
  ? srso_alias_return_thunk+0x5/0xfbef5
  __netif_receive_skb_core.constprop.0+0x3e8/0xe50
  ? srso_alias_return_thunk+0x5/0xfbef5
  ? update_cfs_rq_load_avg+0x1a/0x240
  ? srso_alias_return_thunk+0x5/0xfbef5
  ? __enqueue_entity+0x5e/0x240
  __netif_receive_skb_one_core+0x39/0xa0
  process_backlog+0x9c/0x150
  __napi_poll+0x30/0x200
  ? srso_alias_return_thunk+0x5/0xfbef5
  net_rx_action+0x338/0x3b0
  handle_softirqs+0xc9/0x2a0
  do_softirq+0x42/0x60
  </IRQ>
  <TASK>
  __local_bh_enable_ip+0x62/0x70
  __dev_queue_xmit+0x2d3/0x1000
  ? srso_alias_return_thunk+0x5/0xfbef5
  ? srso_alias_return_thunk+0x5/0xfbef5
  ? packet_parse_headers+0x10a/0x1a0
  packet_sendmsg+0x10da/0x1700
  ? kick_pool+0x5f/0x140
  ? srso_alias_return_thunk+0x5/0xfbef5
  ? __queue_work+0x12d/0x4f0
  __sys_sendto+0x1f3/0x220
  __x64_sys_sendto+0x24/0x30
  do_syscall_64+0x101/0xf80
  ? exc_page_fault+0x6e/0x170
  ? srso_alias_return_thunk+0x5/0xfbef5
  entry_SYSCALL_64_after_hwframe+0x77/0x7f
  </TASK>

Fix this by checking ipv6_mod_enabled() before dispatching IPv6 packets to
bond_na_rcv(). If IPv6 is disabled, return early from bond_rcv_validate()
and avoid the path to ipv6_chk_addr().

## Affected

- `Linux >= 4e24be018eb9dbcefa4b01c07e298b147dc1a4d7 < 49dbfcb70eca5f6f9043594e1e323c74c39e3863`
- `Linux >= 4e24be018eb9dbcefa4b01c07e298b147dc1a4d7 < cf6099ef493b94e140b0fad52482a78853115318`
- `Linux >= 4e24be018eb9dbcefa4b01c07e298b147dc1a4d7 < c78f01abe535853f13f0b26cd5b1d2f19bf52e2f`
- `Linux >= 4e24be018eb9dbcefa4b01c07e298b147dc1a4d7 < 95faa1459b83fa544191e82ccc73856f03b7741f`
- `Linux >= 4e24be018eb9dbcefa4b01c07e298b147dc1a4d7 < c9c238066fb254dabf65e27379f93c56112c5b96`
- `Linux >= 4e24be018eb9dbcefa4b01c07e298b147dc1a4d7 < 30021e969d48e5819d5ae56936c2f34c0f7ce997`
- `Linux 5.18`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
