{"id":"CVE-2026-43441","state":"PUBLISHED","title":"net: bonding: Fix nd_tbl NULL dereference when IPv6 is disabled","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nnet: bonding: Fix nd_tbl NULL dereference when IPv6 is disabled\n\nWhen booting with the 'ipv6.disable=1' parameter, the nd_tbl is never\ninitialized because inet6_init() exits before ndisc_init() is called\nwhich initializes it. If bonding ARP/NS validation is enabled, an IPv6\nNS/NA packet received on a slave can reach bond_validate_na(), which\ncalls bond_has_this_ip6(). That path calls ipv6_chk_addr() and can\ncrash in __ipv6_chk_addr_and_flags().\n\n BUG: kernel NULL pointer dereference, address: 00000000000005d8\n Oops: Oops: 0000 [#1] SMP NOPTI\n RIP: 0010:__ipv6_chk_addr_and_flags+0x69/0x170\n Call Trace:\n  <IRQ>\n  ipv6_chk_addr+0x1f/0x30\n  bond_validate_na+0x12e/0x1d0 [bonding]\n  ? __pfx_bond_handle_frame+0x10/0x10 [bonding]\n  bond_rcv_validate+0x1a0/0x450 [bonding]\n  bond_handle_frame+0x5e/0x290 [bonding]\n  ? srso_alias_return_thunk+0x5/0xfbef5\n  __netif_receive_skb_core.constprop.0+0x3e8/0xe50\n  ? srso_alias_return_thunk+0x5/0xfbef5\n  ? update_cfs_rq_load_avg+0x1a/0x240\n  ? srso_alias_return_thunk+0x5/0xfbef5\n  ? __enqueue_entity+0x5e/0x240\n  __netif_receive_skb_one_core+0x39/0xa0\n  process_backlog+0x9c/0x150\n  __napi_poll+0x30/0x200\n  ? srso_alias_return_thunk+0x5/0xfbef5\n  net_rx_action+0x338/0x3b0\n  handle_softirqs+0xc9/0x2a0\n  do_softirq+0x42/0x60\n  </IRQ>\n  <TASK>\n  __local_bh_enable_ip+0x62/0x70\n  __dev_queue_xmit+0x2d3/0x1000\n  ? srso_alias_return_thunk+0x5/0xfbef5\n  ? srso_alias_return_thunk+0x5/0xfbef5\n  ? packet_parse_headers+0x10a/0x1a0\n  packet_sendmsg+0x10da/0x1700\n  ? kick_pool+0x5f/0x140\n  ? srso_alias_return_thunk+0x5/0xfbef5\n  ? __queue_work+0x12d/0x4f0\n  __sys_sendto+0x1f3/0x220\n  __x64_sys_sendto+0x24/0x30\n  do_syscall_64+0x101/0xf80\n  ? exc_page_fault+0x6e/0x170\n  ? srso_alias_return_thunk+0x5/0xfbef5\n  entry_SYSCALL_64_after_hwframe+0x77/0x7f\n  </TASK>\n\nFix this by checking ipv6_mod_enabled() before dispatching IPv6 packets to\nbond_na_rcv(). If IPv6 is disabled, return early from bond_rcv_validate()\nand avoid the path to ipv6_chk_addr().","publishedAt":"2026-05-08T14:22:09.982Z","updatedAt":"2026-10-19T19:26:36.805Z","severity":{"score":7.5,"label":"High","version":"3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","source":"Linux"},"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"4e24be018eb9dbcefa4b01c07e298b147dc1a4d7","status":"affected","lessThan":"49dbfcb70eca5f6f9043594e1e323c74c39e3863","versionType":"git"},{"version":"4e24be018eb9dbcefa4b01c07e298b147dc1a4d7","status":"affected","lessThan":"cf6099ef493b94e140b0fad52482a78853115318","versionType":"git"},{"version":"4e24be018eb9dbcefa4b01c07e298b147dc1a4d7","status":"affected","lessThan":"c78f01abe535853f13f0b26cd5b1d2f19bf52e2f","versionType":"git"},{"version":"4e24be018eb9dbcefa4b01c07e298b147dc1a4d7","status":"affected","lessThan":"95faa1459b83fa544191e82ccc73856f03b7741f","versionType":"git"},{"version":"4e24be018eb9dbcefa4b01c07e298b147dc1a4d7","status":"affected","lessThan":"c9c238066fb254dabf65e27379f93c56112c5b96","versionType":"git"},{"version":"4e24be018eb9dbcefa4b01c07e298b147dc1a4d7","status":"affected","lessThan":"30021e969d48e5819d5ae56936c2f34c0f7ce997","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/net/bonding/bond_main.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.18","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.18","versionType":"semver"},{"version":"6.1.167","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.130","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.78","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.19","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"6.19.9","status":"unaffected","lessThanOrEqual":"6.19.*","versionType":"semver"},{"version":"7.0","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/net/bonding/bond_main.c"]}],"references":["https://git.kernel.org/stable/c/49dbfcb70eca5f6f9043594e1e323c74c39e3863","https://git.kernel.org/stable/c/cf6099ef493b94e140b0fad52482a78853115318","https://git.kernel.org/stable/c/c78f01abe535853f13f0b26cd5b1d2f19bf52e2f","https://git.kernel.org/stable/c/95faa1459b83fa544191e82ccc73856f03b7741f","https://git.kernel.org/stable/c/c9c238066fb254dabf65e27379f93c56112c5b96","https://git.kernel.org/stable/c/30021e969d48e5819d5ae56936c2f34c0f7ce997"],"weaknesses":["CWE-476"],"ingestedAt":"2026-10-29T20:11:57.932Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/43xxx/CVE-2026-43441.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-43441","state":"PUBLISHED","datePublished":"2026-05-08T14:22:09.982Z","dateUpdated":"2026-10-19T19:26:36.805Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-05-01T14:12:56.009Z"},"containers":{"cna":{"title":"net: bonding: Fix nd_tbl NULL dereference when IPv6 is disabled","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nnet: bonding: Fix nd_tbl NULL dereference when IPv6 is disabled\n\nWhen booting with the 'ipv6.disable=1' parameter, the nd_tbl is never\ninitialized because inet6_init() exits before ndisc_init() is called\nwhich initializes it. If bonding ARP/NS validation is enabled, an IPv6\nNS/NA packet received on a slave can reach bond_validate_na(), which\ncalls bond_has_this_ip6(). That path calls ipv6_chk_addr() and can\ncrash in __ipv6_chk_addr_and_flags().\n\n BUG: kernel NULL pointer dereference, address: 00000000000005d8\n Oops: Oops: 0000 [#1] SMP NOPTI\n RIP: 0010:__ipv6_chk_addr_and_flags+0x69/0x170\n Call Trace:\n  <IRQ>\n  ipv6_chk_addr+0x1f/0x30\n  bond_validate_na+0x12e/0x1d0 [bonding]\n  ? __pfx_bond_handle_frame+0x10/0x10 [bonding]\n  bond_rcv_validate+0x1a0/0x450 [bonding]\n  bond_handle_frame+0x5e/0x290 [bonding]\n  ? srso_alias_return_thunk+0x5/0xfbef5\n  __netif_receive_skb_core.constprop.0+0x3e8/0xe50\n  ? srso_alias_return_thunk+0x5/0xfbef5\n  ? update_cfs_rq_load_avg+0x1a/0x240\n  ? srso_alias_return_thunk+0x5/0xfbef5\n  ? __enqueue_entity+0x5e/0x240\n  __netif_receive_skb_one_core+0x39/0xa0\n  process_backlog+0x9c/0x150\n  __napi_poll+0x30/0x200\n  ? srso_alias_return_thunk+0x5/0xfbef5\n  net_rx_action+0x338/0x3b0\n  handle_softirqs+0xc9/0x2a0\n  do_softirq+0x42/0x60\n  </IRQ>\n  <TASK>\n  __local_bh_enable_ip+0x62/0x70\n  __dev_queue_xmit+0x2d3/0x1000\n  ? srso_alias_return_thunk+0x5/0xfbef5\n  ? srso_alias_return_thunk+0x5/0xfbef5\n  ? packet_parse_headers+0x10a/0x1a0\n  packet_sendmsg+0x10da/0x1700\n  ? kick_pool+0x5f/0x140\n  ? srso_alias_return_thunk+0x5/0xfbef5\n  ? __queue_work+0x12d/0x4f0\n  __sys_sendto+0x1f3/0x220\n  __x64_sys_sendto+0x24/0x30\n  do_syscall_64+0x101/0xf80\n  ? exc_page_fault+0x6e/0x170\n  ? srso_alias_return_thunk+0x5/0xfbef5\n  entry_SYSCALL_64_after_hwframe+0x77/0x7f\n  </TASK>\n\nFix this by checking ipv6_mod_enabled() before dispatching IPv6 packets to\nbond_na_rcv(). If IPv6 is disabled, return early from bond_rcv_validate()\nand avoid the path to ipv6_chk_addr()."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"4e24be018eb9dbcefa4b01c07e298b147dc1a4d7","status":"affected","lessThan":"49dbfcb70eca5f6f9043594e1e323c74c39e3863","versionType":"git"},{"version":"4e24be018eb9dbcefa4b01c07e298b147dc1a4d7","status":"affected","lessThan":"cf6099ef493b94e140b0fad52482a78853115318","versionType":"git"},{"version":"4e24be018eb9dbcefa4b01c07e298b147dc1a4d7","status":"affected","lessThan":"c78f01abe535853f13f0b26cd5b1d2f19bf52e2f","versionType":"git"},{"version":"4e24be018eb9dbcefa4b01c07e298b147dc1a4d7","status":"affected","lessThan":"95faa1459b83fa544191e82ccc73856f03b7741f","versionType":"git"},{"version":"4e24be018eb9dbcefa4b01c07e298b147dc1a4d7","status":"affected","lessThan":"c9c238066fb254dabf65e27379f93c56112c5b96","versionType":"git"},{"version":"4e24be018eb9dbcefa4b01c07e298b147dc1a4d7","status":"affected","lessThan":"30021e969d48e5819d5ae56936c2f34c0f7ce997","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/net/bonding/bond_main.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.18","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.18","versionType":"semver"},{"version":"6.1.167","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.130","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.78","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.19","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"6.19.9","status":"unaffected","lessThanOrEqual":"6.19.*","versionType":"semver"},{"version":"7.0","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/net/bonding/bond_main.c"]}],"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"}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","baseScore":7.5,"baseSeverity":"HIGH"},"scenarios":[{"lang":"en","value":"AV:N - A crafted IPv6 ICMPv6 NS/NA packet received on a bonding slave reaches the vulnerable receive path through the kernel networking stack. No local execution on the target is required once the vulnerable bonding configuration is present.\nAC:L - The trigger is deterministic: with IPv6 boot-disabled and bonding ARP/NS validation enabled, a matching IPv6 NS/NA frame reaches the unchecked path. There is no race, heap grooming, or timing requirement.\nPR:N - The packet receive path has no authentication or target-side privilege check. Bond configuration requires administration, but an attacker sending the triggering network frame does not need credentials on the victim.\nUI:N - No victim user action is needed after the vulnerable system is configured and receiving traffic. The attacker only needs to send the crafted packet.\nS:U - The impact is within the same kernel/host security authority. This is not a VM escape, sandbox boundary crossing, or IOMMU/DMA boundary bypass.\nC:N - The bug is a NULL pointer dereference in the IPv6 address/neighbor initialization path. It does not expose kernel memory or provide a read primitive.\nI:N - The issue is a pure NULL dereference, not memory corruption or an arbitrary write. There is no evidence of data modification or control-flow hijack capability.\nA:H - The NULL dereference occurs in the receive softirq path and produces a kernel oops/panic-class crash. It can be retriggered by sending additional crafted packets to the vulnerable configuration."}]}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-08-05T12:27:57.945Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.18","versionEndExcluding":"6.1.167"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.18","versionEndExcluding":"6.6.130"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.18","versionEndExcluding":"6.12.78"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.18","versionEndExcluding":"6.18.19"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.18","versionEndExcluding":"6.19.9"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.18","versionEndExcluding":"7.0"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"id":"CVE-2026-43441","role":"CISA Coordinator","options":[{"Exploitation":"none"},{"Automatable":"yes"},{"Technical Impact":"partial"}],"version":"2.0.3","timestamp":"2026-10-16T15:17:24.934773Z"}}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-476","lang":"en","type":"CWE","description":"CWE-476 NULL Pointer Dereference"}]}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-10-19T19:26:36.805Z"}}]}}}