Skip to main content
VulnerabilityPublished Updated

CVE-2026-31502: Linux kernel · team: fix header_ops type confusion with non-Ethernet ports

Source GCVE Database

0
Compare
Authoritative record:CVE-2026-31502· High 7.8

Not known to be exploited · CVSS 7.8 High · fixed in c6e255b0ce30cdea37e34d6d87e2212eb8c7f7a4 : patch Linux kernel soon.

Data as of 30 Oct 2026, 16:33 UTC

CVSS 3.1 base score
7.8High
How severe the flaw is on the 0–10 CVSS scale.

Thin evidence

One scorer or none
CVSS scores by source
CNA (Linux)CVSS 3.17.8
Patch
Available – fixed in c6e255b0ce30cdea37e34d6d87e2212eb8c7f7a4, 425000dbf17373a4ab8be9428f5dc055ef870a56, 20491d384d973a63fbdaf7a71e38d69b0659ea55 +3
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Exploitation evidence

  1. Disclosed: evidence found.

    CVE published 22 Apr 2026

  2. Detectable: no evidence on record.

    No public nuclei template indexed

  3. Weaponized: no evidence on record.

    No public exploit code indexed in Metasploit or Exploit-DB

  4. Exploited in the wild: no evidence on record.

    Not in CISA KEV and no source reports exploitation

  5. Observed by OffSeq Mirage: no evidence on record.

    No attack traffic recorded by OffSeq Mirage sensors

A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 30 Oct 2026.

What to do

Upgrade to a fixed release listed under Affected software.

Affected software

ProductAffectedFixed in
LinuxLinuxAffected
  • ≥ 1d76efe1577b4323609b1bcbfafa8b731eda071a, < c6e255b0ce30cdea37e34d6d87e2212eb8c7f7a4
Fixed in
  • c6e255b0ce30cdea37e34d6d87e2212eb8c7f7a4
LinuxLinuxAffected
  • ≥ 1d76efe1577b4323609b1bcbfafa8b731eda071a, < 425000dbf17373a4ab8be9428f5dc055ef870a56
Fixed in
  • 425000dbf17373a4ab8be9428f5dc055ef870a56
LinuxLinuxAffected
  • ≥ 1d76efe1577b4323609b1bcbfafa8b731eda071a, < 20491d384d973a63fbdaf7a71e38d69b0659ea55
Fixed in
  • 20491d384d973a63fbdaf7a71e38d69b0659ea55
LinuxLinuxAffected
  • ≥ 1d76efe1577b4323609b1bcbfafa8b731eda071a, < 420e5aad7ba89e8f79e2dc8327b0c0c24c1c1d53
Fixed in
  • 420e5aad7ba89e8f79e2dc8327b0c0c24c1c1d53
LinuxLinuxAffected
  • ≥ 1d76efe1577b4323609b1bcbfafa8b731eda071a, < 6d3161fa3eee64d46b766fb0db33ec7f300ef52d
Fixed in
  • 6d3161fa3eee64d46b766fb0db33ec7f300ef52d
LinuxLinuxAffected
  • ≥ 1d76efe1577b4323609b1bcbfafa8b731eda071a, < 0a7468ed49a6b65d34abcc6eb60e15f7f6d34da0
Fixed in
  • 0a7468ed49a6b65d34abcc6eb60e15f7f6d34da0

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.

References

Community reviews

Loading reviews…