Skip to main content

Linux Kernel CVE-2026-64190

| EUVDEUVD-2026-46010 MEDIUM
NULL Pointer Dereference (CWE-476)
2026-07-20 Linux GHSA-fg66-cp5r-9m26
5.5
CVSS 3.1 · NVD
Share

Severity by source

NVD PRIMARY
5.5 MEDIUM
AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
vuln.today AI
4.7 MEDIUM

AC:H reflects race-condition timing dependency; PR:L acknowledges CAP_NET_ADMIN can be non-root in containers; impact is availability-only.

3.1 AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H
4.0 AV:L/AC:H/AT:P/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
SUSE
4.7 MEDIUM
AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H
Red Hat
5.5 MEDIUM
qualitative

Primary rating from NVD.

CVSS VectorNVD

Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

Lifecycle Timeline

5
Analysis Generated
Aug 11, 2026 - 22:58 vuln.today
CVSS changed
Aug 11, 2026 - 19:07 NVD
5.5 (MEDIUM)
Patch available
Jul 20, 2026 - 18:18 EUVD
CVE Published
Jul 20, 2026 - 16:27 nvd
MEDIUM 5.5
CVE Published
Jul 20, 2026 - 16:27 cve.org
UNKNOWN (no severity yet)

DescriptionNVD

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.

AnalysisAI

NULL pointer dereference in the Linux kernel's team network driver (net/team/team_core.c) allows a local attacker with CAP_NET_ADMIN to crash the kernel by racing a mode change against concurrent packet transmission. The vulnerability arises because __team_change_mode() wipes team->ops via memset() before reinstalling safe dummy handlers, creating a window where team_xmit() running under RCU on a parallel CPU can invoke a NULL function pointer. No public exploit code exists and the issue is not listed in CISA KEV, but the availability impact is total (kernel panic), and the fix is present in upstream stable commits.

Technical ContextAI

The Linux kernel's team driver (drivers/net/team/team_core.c) implements a link-aggregation device similar to bonding. It stores per-mode operation callbacks - including the transmit handler - in a team->ops structure. __team_change_mode() previously replaced this structure using memset() to zero it, then memcpy() to write new ops, assuming no traffic could flow during a mode change because all ports would have been removed. AF_PACKET sockets with forced carrier break this assumption by allowing frame injection even when no ports are attached. Concurrent team_xmit() calls execute under RCU read-side locks on separate CPUs, meaning they can read a partially-zeroed ops pointer during the memset window and branch to address 0x0. CWE-476 (NULL Pointer Dereference) captures the root cause: the absence of atomic or sequenced update semantics for function pointer fields in a data structure accessed by concurrent kernel paths.

RemediationAI

Apply the upstream stable fixes landed at https://git.kernel.org/stable/c/03e9405c518c4d61f28079492f252d6d4e2bac5c and https://git.kernel.org/stable/c/25fe708bbc59289d3d1ea4b126fbc1b460a072a5; the patched stable release is Linux 6.18.35. Distribution-specific kernels (RHEL, Ubuntu, Debian, SUSE) should be updated via their respective security channels as backports become available. If patching is not immediately possible, a compensating control is to remove or restrict CAP_NET_ADMIN grants from untrusted container workloads and unprivileged users, using seccomp or Linux Security Modules (AppArmor/SELinux) to deny the RTNETLINK operations required for team mode changes; note this may break legitimate network reconfiguration workflows. Disabling the team driver module (rmmod team) where team interfaces are not in use eliminates the vulnerable code path entirely with no functional side effects on systems relying only on bonding or other aggregation drivers.

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 16.0 Affected

Share

CVE-2026-64190 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy