Executive brief
A vulnerability in the Linux kernel's network bridge component can cause a system crash when IPv6 is disabled via boot parameters. If a specific network discovery packet reaches a bridge with neighbor suppression enabled, the system may experience a kernel panic (NULL pointer dereference). This results in a complete loss of availability for the affected system, potentially disrupting network operations and industrial control processes.
Technical details
A NULL pointer dereference exists in the Linux kernel bridge driver within the br_do_suppress_nd() function. When the kernel is booted with 'ipv6.disable=1', the Neighbor Discovery table (nd_tbl) is never initialized, leaving the ipv6_stub->nd_tbl pointer as NULL. If the BROPT_NEIGH_SUPPRESS_ENABLED option is active, the bridge attempts to process ICMPv6 Neighbor Discovery packets by calling neigh_lookup() with the uninitialized table pointer. This results in a kernel oops and immediate system crash. The fix involves replacing static IS_ENABLED(CONFIG_IPV6) checks with runtime ipv6_mod_enabled() checks to ensure suppression logic is bypassed when IPv6 is disabled.
Affected products
- Linux Linux Kernel All versions prior to the March 2026 patches
- Siemens SIMATIC S7-1500 CPU 1518-4 PN/DP MFP V3.1.5, V3.1.6
Timeline
- 2026-03-04: other: Patch authored by Fernando Fernandez Mancera
- 2026-03-25: advisory: Initial disclosure and NVD publication
- 2026-07-14: other: Siemens updated advisory with affected industrial products
References
- https://git.kernel.org/stable/c/20ef5c25422f97dd09d751e5ae6c18406cdc78e6
- https://git.kernel.org/stable/c/33dec6f10777d5a8f71c0a200f690da5ae3c2e55
- https://git.kernel.org/stable/c/7a894eb5de246d79f13105c55a67381039a24d44
- https://git.kernel.org/stable/c/a12cdaa3375f0bd3c8f4e564be7c143529abfe5b
- https://git.kernel.org/stable/c/a5c56e65b685360dd3f2278aeff8c21061feb665
- https://git.kernel.org/stable/c/a9d712ccfeef737c0e700a4b5b98f310e07b6b60
- https://git.kernel.org/stable/c/aa73deb3b6b730ec280d45b3f423bfa9e17bc122