CVE-2026-64545
net, bpf: check master for NULL in xdp_master_redirect()
In the Linux kernel, the following vulnerability has been resolved: net, bpf: check master for NULL in xdp_master_redirect() xdp_master_redirect() dereferences the result of netdev_master_upper_dev_get_rcu() without a NULL check, but that helper returns NULL when the receiving device has no upper-master adjacency. The reach guard only checks netif_is_bond_slave(). On bond slave release bond_upper_dev_unlink() drops the upper-master adjacency before clearing IFF_SLAVE, so an XDP_TX reaching xdp_master_redirect() in that window still passes netif_is_bond_slave() while master is already NULL, and faults on master->flags at offset 0xb0: BUG: kernel NULL pointer dereference, address: 00000000000000b0 RIP: 0010:xdp_master_redirect (net/core/filter.c:4432) Call Trace: xdp_master_redirect (net/core/filter.c:4432) bpf_prog_run_generic_xdp (include/net/xdp.h:700) do_xdp_generic (net/core/dev.c:5608) __netif_receive_skb_one_core (net/core/dev.c:6204) process_backlog (net/core/dev.c:6319) __napi_poll (net/core/dev.c:7729) net_rx_action (net/core/dev.c:7792) handle_softirqs (kernel/softirq.c:622) __dev_queue_xmit (include/linux/bottom_half.h:33) packet_sendmsg (net/packet/af_packet.c:3082) __sys_sendto (net/socket.c:2252) Kernel panic - not syncing: Fatal exception in interrupt The missing check dates back to the original code; commit 1921f91298d1 ("net, bpf: fix null-ptr-deref in xdp_master_redirect() for down master") later added the master->flags read where the fault now lands but kept the unconditional deref. Check master for NULL before use; a NULL master is treated the same as one that is not up.
Fixes and workarounds
No remediation reported in collected sources.
Missing remediation information is not evidence that no patch exists.
Affected products and versions
| Product | Versions | Authority |
|---|---|---|
| Linux Linux |
≥ 879af96ffd72706c6e3278ea6b45b0b0e37ec5d7; < c99ca049e910d61ddbd28cc2c47242f2bfbb4970 (affected, git) ≥ 879af96ffd72706c6e3278ea6b45b0b0e37ec5d7; < e2a56441233131fe18a76001de347ecda217e40c (affected, git) ≥ 879af96ffd72706c6e3278ea6b45b0b0e37ec5d7; < 3876318ea54e83eb70982b8280a3c5e4e32269bf (affected, git) ≥ 879af96ffd72706c6e3278ea6b45b0b0e37ec5d7; < 4edbcacca09f92b85d3951b6add11894b20a84bc (affected, git) ≥ 879af96ffd72706c6e3278ea6b45b0b0e37ec5d7; < 03b743586a2469744e96e9c1015096d07240935d (affected, git) ≥ 879af96ffd72706c6e3278ea6b45b0b0e37ec5d7; < 89c103d702b25ceb2d097faf854deb47b53b17ff (affected, git) ≥ 879af96ffd72706c6e3278ea6b45b0b0e37ec5d7; < e82d8cc4321c373dc46e741cd2dfdaa7921fddb7 (affected, git) Other versions: unaffected |
CNA: Linux |
| Linux Linux |
5.15 (affected) ≥ 0; < 5.15 (unaffected, semver) ≥ 5.15.212; ≤ 5.15.* (unaffected, semver) ≥ 6.1.178; ≤ 6.1.* (unaffected, semver) ≥ 6.6.145; ≤ 6.6.* (unaffected, semver) ≥ 6.12.97; ≤ 6.12.* (unaffected, semver) ≥ 6.18.40; ≤ 6.18.* (unaffected, semver) ≥ 7.1.5; ≤ 7.1.* (unaffected, semver) ≥ 7.2; ≤ * (unaffected, original_commit_for_fix) Other versions: affected |
CNA: Linux |
| SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) Siemens |
≥ V3.1.6; < * (affected, custom)
Other versions: unknown |
ADP: siemens-SADP |
| SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) Siemens |
≥ V3.1.7; < * (affected, custom)
Other versions: unknown |
ADP: siemens-SADP |
| SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) Siemens |
≥ V3.1.6; < * (affected, custom)
Other versions: unknown |
ADP: siemens-SADP |
| SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) Siemens |
≥ V3.1.7; < * (affected, custom)
Other versions: unknown |
ADP: siemens-SADP |
| SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) Siemens |
≥ V3.1.6; < * (affected, custom)
Other versions: unknown |
ADP: siemens-SADP |
| SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) Siemens |
≥ V3.1.7; < * (affected, custom)
Other versions: unknown |
ADP: siemens-SADP |
| SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) Siemens |
≥ V3.1.6; < * (affected, custom)
Other versions: unknown |
ADP: siemens-SADP |
| SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) Siemens |
≥ V3.1.7; < * (affected, custom)
Other versions: unknown |
ADP: siemens-SADP |
| SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) Siemens |
≥ V3.1.6; < * (affected, custom)
Other versions: unknown |
ADP: siemens-SADP |
| SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) Siemens |
≥ V3.1.7; < * (affected, custom)
Other versions: unknown |
ADP: siemens-SADP |
Version ranges are source assertions. Check the vendor advisory and your installed configuration before determining exposure.
CVSS assessments
| Version / score | Vector | Authority |
|---|---|---|
| 3.1 / 7.5 high |
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H | CNA: Linux |
| 3.1 / 7.5 high |
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H | NVD: 416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
Exploit evidence
No exploit evidence in collected sources. This is not proof of no exploitation.
References
- https://git.kernel.org/stable/c/c99ca049e910d61ddbd28cc2c47242f2bfbb4970CNA: Linux
- https://git.kernel.org/stable/c/e2a56441233131fe18a76001de347ecda217e40cCNA: Linux
- https://git.kernel.org/stable/c/3876318ea54e83eb70982b8280a3c5e4e32269bfCNA: Linux
- https://git.kernel.org/stable/c/4edbcacca09f92b85d3951b6add11894b20a84bcCNA: Linux
- https://git.kernel.org/stable/c/03b743586a2469744e96e9c1015096d07240935dCNA: Linux
- https://git.kernel.org/stable/c/89c103d702b25ceb2d097faf854deb47b53b17ffCNA: Linux
- https://git.kernel.org/stable/c/e82d8cc4321c373dc46e741cd2dfdaa7921fddb7CNA: Linux
- https://cert-portal.siemens.com/productcert/html/ssa-019113.htmlADP: siemens-SADP
- https://cert-portal.siemens.com/productcert/html/ssa-457936.htmlADP: siemens-SADP
- https://git.kernel.org/stable/c/03b743586a2469744e96e9c1015096d07240935d416baaa9-dc9f-4396-8d5f-8c081fb06d67
- https://git.kernel.org/stable/c/3876318ea54e83eb70982b8280a3c5e4e32269bf416baaa9-dc9f-4396-8d5f-8c081fb06d67
- https://git.kernel.org/stable/c/4edbcacca09f92b85d3951b6add11894b20a84bc416baaa9-dc9f-4396-8d5f-8c081fb06d67
- https://git.kernel.org/stable/c/89c103d702b25ceb2d097faf854deb47b53b17ff416baaa9-dc9f-4396-8d5f-8c081fb06d67
- https://git.kernel.org/stable/c/c99ca049e910d61ddbd28cc2c47242f2bfbb4970416baaa9-dc9f-4396-8d5f-8c081fb06d67
- https://git.kernel.org/stable/c/e2a56441233131fe18a76001de347ecda217e40c416baaa9-dc9f-4396-8d5f-8c081fb06d67
- https://git.kernel.org/stable/c/e82d8cc4321c373dc46e741cd2dfdaa7921fddb7416baaa9-dc9f-4396-8d5f-8c081fb06d67
- https://cert-portal.siemens.com/productcert/html/ssa-019113.html0b142b55-0307-4c5a-b3c9-f314f3fb7c5e
- https://cert-portal.siemens.com/productcert/html/ssa-457936.html0b142b55-0307-4c5a-b3c9-f314f3fb7c5e
For agents and automation
Read public disclosures for free as Markdown or JSON. Compatible browsers also expose native WebMCP tools to search disclosures, read this page, and discover API access.
Use the ontology-linked Cyber API with x402 pay per request, or a Y2 Pro or Elite API key with the intel:cyber scope.
Endpoints and access details
https://api.y2.dev/api/v2/cyber/cveshttps://api.y2.dev/api/v2/cyber/cves/{cveId}
A workspace owner or admin can create a Pro or Elite API key. Send Authorization: Bearer <Y2_API_KEY> from your trusted agent runtime.
For x402, omit Authorization and read the HTTP 402 payment challenge before signing a retry. Public browser tools do not make payments.