team: fix header_ops type confusion with non-Ethernet ports
Summary
| CVE | CVE-2026-31502 |
| State | PUBLISHED |
| Assigner | Linux |
| Source Priority | CVE Program / NVD first with legacy fallback |
| Published | 2026-04-22 14:16:48 UTC |
| Updated | 2026-04-22 14:16:48 UTC |
| Description | In the Linux kernel, the following vulnerability has been resolved:
team: fix header_ops type confusion with non-Ethernet ports
Similar to commit 950803f72547 ("bonding: fix type confusion in
bond_setup_by_slave()") team has the same class of header_ops type
confusion.
For non-Ethernet ports, team_setup_by_port() copies port_dev->header_ops
directly. When the team device later calls dev_hard_header() or
dev_parse_header(), these callbacks can run with the team net_device
instead of the real lower device, so netdev_priv(dev) is interpreted as
the wrong private type and can crash.
The syzbot report shows a crash in bond_header_create(), but the root
cause is in team: the topology is gre -> bond -> team, and team calls
the inherited header_ops with its own net_device instead of the lower
device, so bond_header_create() receives a team device and interprets
netdev_priv() as bonding private data, causing a type confusion crash.
Fix this by introducing team header_ops wrappers for create/parse,
selecting a team port under RCU, and calling the lower device callbacks
with port->dev, so each callback always sees the correct net_device
context.
Also pass the selected lower device to the lower parse callback, so
recursion is bounded in stacked non-Ethernet topologies and parse
callbacks always run with the correct device context. |
Vendor Declared Affected Products
| Source | Vendor | Product | Version | Platforms |
|---|
| CNA |
Linux |
Linux |
affected 1d76efe1577b4323609b1bcbfafa8b731eda071a 6d3161fa3eee64d46b766fb0db33ec7f300ef52d git |
Not specified |
| CNA |
Linux |
Linux |
affected 1d76efe1577b4323609b1bcbfafa8b731eda071a 0a7468ed49a6b65d34abcc6eb60e15f7f6d34da0 git |
Not specified |
| CNA |
Linux |
Linux |
affected 1d76efe1577b4323609b1bcbfafa8b731eda071a 20491d384d973a63fbdaf7a71e38d69b0659ea55 git |
Not specified |
| CNA |
Linux |
Linux |
affected 1d76efe1577b4323609b1bcbfafa8b731eda071a 425000dbf17373a4ab8be9428f5dc055ef870a56 git |
Not specified |
| CNA |
Linux |
Linux |
affected 3.7 |
Not specified |
| CNA |
Linux |
Linux |
unaffected 3.7 semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 6.12.80 6.12.* semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 6.18.21 6.18.* semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 6.19.11 6.19.* semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 7.0 * original_commit_for_fix |
Not specified |
References
| Reference | Source | Link | Tags |
|---|
| git.kernel.org/stable/c/425000dbf17373a4ab8be9428f5dc055ef870a56 |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| git.kernel.org/stable/c/6d3161fa3eee64d46b766fb0db33ec7f300ef52d |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| git.kernel.org/stable/c/0a7468ed49a6b65d34abcc6eb60e15f7f6d34da0 |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| git.kernel.org/stable/c/20491d384d973a63fbdaf7a71e38d69b0659ea55 |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| CVE Program record |
CVE.ORG |
www.cve.org |
canonical |
| NVD vulnerability detail |
NVD |
nvd.nist.gov |
canonical, analysis |
No vendor comments have been submitted for this CVE.
There are currently no legacy QID mappings associated with this CVE.