Executive brief
A vulnerability exists in the Linux kernel's network bridging component, which is used to connect different network segments. An attacker could exploit this flaw by sending specially crafted network discovery packets, potentially leading to a system crash or unauthorized access to sensitive information in memory. This affects various Linux-based systems and industrial controllers from Siemens that utilize the impacted kernel versions.
Technical details
A vulnerability in the br_nd_send() function of the Linux kernel's bridge module arises because the function assumes Neighbor Discovery (ND) options are located in the linear portion of a socket buffer (skb). While callers guarantee the availability of the ICMPv6 header and target address, the option area may remain non-linear. An attacker can trigger an out-of-bounds read by providing a non-linear skb, which could lead to a kernel panic (DoS) or information disclosure. The fix involves linearizing the skb before parsing ND options and deriving the message structure from the linear network header. This issue is tracked as CVE-2026-31682 and has been patched in multiple stable kernel branches.
Affected products
- Linux Linux Kernel Fixed in various stable branches including 2ba4caba423ed94d63006eb1d2227b0332ab7fcd and others
- Siemens SIMATIC S7-1500 CPU 1518-4 PN/DP MFP V3.1.5, V3.1.6
- Siemens SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP V3.1.5, V3.1.6
- Siemens SIPLUS S7-1500 CPU 1518-4 PN/DP MFP V3.1.5, V3.1.6
Timeline
- 2026-03-26: other: Initial patch authored
- 2026-04-25: disclosed: Vulnerability published
References
- https://git.kernel.org/stable/c/2ba4caba423ed94d63006eb1d2227b0332ab7fcd
- https://git.kernel.org/stable/c/3a30f6469b058574f49efde61cd6f5d79e576053
- https://git.kernel.org/stable/c/4f397b950c916e9a1f8a4fce04ea0110206cad47
- https://git.kernel.org/stable/c/658261898130da620fc3d0fbb0523efb3366cb55
- https://git.kernel.org/stable/c/9c55e41c73af5c4511070933b1bd25248521270c
- https://git.kernel.org/stable/c/a01aee7cafc575bb82f5529e8734e7052f9b16ea
- https://git.kernel.org/stable/c/bd91ec85aa4c77d645bd2739fc56784157a88ca2