CVEvulnerability
CVE-2026-64190
5.5 MEDIUM
Official page ↗
- Status
- Modified
- Published
- 2026-07-20
- Last modified
- 2026-10-30
- Assigner
- 416baaa9-dc9f-4396-8d5f-8c081fb06d67
- CVSS 3.1 ([email protected])
- 5.5 MEDIUM — CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
- Weaknesses
- CWE-476
Description
In the Linux kernel, the following vulnerability has been resolved:
net: team: fix NULL pointer dereference in team_xmit during mode change
__team_change_mode() clears team->ops with memset() before restoring
safe dummy handlers via team_adjust_ops(). A concurrent team_xmit()
running under RCU on another CPU can read team->ops.transmit during
this window and call a NULL function pointer, crashing the kernel.
The race requires a mode change (CAP_NET_ADMIN) concurrent with
transmit on the team device.
BUG: kernel NULL pointer dereference, address: 0000000000000000
Oops: 0010 [#1] SMP KASAN NOPTI
RIP: 0010:0x0
Call Trace:
team_xmit (drivers/net/team/team_core.c:1853)
dev_hard_start_xmit (net/core/dev.c:3904)
__dev_queue_xmit (net/core/dev.c:4871)
packet_sendmsg (net/packet/af_packet.c:3109)
__sys_sendto (net/socket.c:2265)
The original code assumed that no ports means no traffic, so mode
changes could freely memset()/memcpy() the ops. AF_PACKET with
forced carrier breaks that assumption.
Prevent the race instead of making it safe: replace memset()/memcpy()
with per-field updates that never touch transmit or receive. Those
two handlers are managed solely by team_adjust_ops(), which already
installs dummies when tx_en_port_count == 0 (always true during mode
change since no ports are present). WRITE_ONCE/READ_ONCE prevent
store/load tearing on the handler pointers.
synchronize_net() before exit_op() drains in-flight readers that may
still reference old mode state from before port removal switched the
handlers to dummies.
Affected configurations
• linux linux kernel (>= 3.3 < 6.18.35)
• linux linux kernel (>= 6.19 < 7.1)
• linux linux kernel 7.1
Related
Weakness · CWE (1)
- CWE-476 NULL Pointer Dereference weakness
References
- https://git.kernel.org/stable/c/03e9405c518c4d61f28079492f252d6d4e2bac5c Patch
- https://git.kernel.org/stable/c/25fe708bbc59289d3d1ea4b126fbc1b460a072a5 Patch
- https://git.kernel.org/stable/c/9486377e5e971988a3add171c398eb654a866fab git.kernel.org
- https://git.kernel.org/stable/c/a879f78c478cee77f4bd43e92225a640c23f45d4 git.kernel.org
- https://git.kernel.org/stable/c/ac342f86638f5e184c8511cff12a421aea56acc6 git.kernel.org
- https://git.kernel.org/stable/c/cde5c7f0286c4203d0abc7248201542aa8bf33bb git.kernel.org
- https://git.kernel.org/stable/c/d61bf3bc17de1e18cbdac94cf5389bb9dc2ddfe7 git.kernel.org