Skip to main content

Linux Kernel EUVDEUVD-2026-25472

| CVE-2026-31579 MEDIUM
NULL Pointer Dereference (CWE-476)
2026-04-24 Linux GHSA-h53c-6597-vmfw
5.5
CVSS 3.1 · NVD
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain low-privilege local shell
  2. Delivery
    Create network namespace with WireGuard interface
  3. Exploit
    Trigger concurrent rtnl_mutex contention via parallel network operation
  4. Execution
    Destroy WireGuard network namespace
  5. Persist
    Block cleanup_net workqueue on rtnl_lock()
  6. Impact
    Kernel hung task denial of service

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A10:2025 - Mishandling of Exceptional Conditions
ASVS 5.0
V16 - Security Logging and Error Handling Null pointer safety, defensive checks
MITRE ATT&CK

1 technique across 1 tactic: Impact

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires a local authenticated session with at minimum low-privilege user permissions (PR:L per CVSS). The WireGuard kernel module (wireguard.ko) must be loaded and the attacker must be able to create and destroy network namespaces containing WireGuard interfaces - a capability typically available to unprivileged users when user.max_user_namespaces is non-zero (the default on most modern distributions). The hung-task condition is a race: it triggers only when rtnl_mutex is concurrently held by another kernel thread (e.g., during interface configuration, routing changes, or other network namespace operations). Systems that do not load the WireGuard module, do not permit user namespace creation, or are single-threaded and lightly loaded are practically unexploitable. Remote unauthenticated exploitation is not possible given the local attack vector.

Impact

Real-world risk is moderate despite the High availability impact in the CVSS score. The AV:L vector firmly restricts exploitation to actors with existing local code execution, and PR:L confirms low but non-zero privileges are required - unauthenticated remote exploitation is not possible. The race condition nature of this bug (requiring concurrent rtnl_mutex contention) suggests the NVD-assigned AC:L may be optimistic; the actual condition is timing-dependent and may be difficult to trigger reliably on a lightly loaded system, arguably warranting AC:H. EPSS at 0.02% (4th percentile) corroborates that exploitation in the wild is extremely unlikely at this time. No CISA KEV listing and no public proof-of-concept code have been identified. The practical threat is a local denial-of-service requiring a system reboot to recover, meaningful primarily in multi-tenant environments (containers, VMs sharing a kernel) where a low-privileged user can manipulate network namespaces. Red Hat and SUSE are tagged as affected distributions, suggesting downstream patching is in progress.

Exploit ScenarioDerived

A low-privileged local user on a multi-tenant Linux host (e.g., a container host or shared server) creates a network namespace containing a WireGuard interface and then destroys it, triggering wg_netns_pre_exit(). If another kernel thread concurrently holds rtnl_mutex during normal network operations, the cleanup callback blocks indefinitely, hanging the cleanup_net workqueue and causing a kernel-level denial of service that typically requires a hard reboot to resolve. No public proof-of-concept exists, and reliable triggering requires favorable race timing.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.0% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jul 24, 2026

Deadlock in the Linux kernel WireGuard subsystem can cause a hung task and system-level denial of service for authenticated local users. The wg_netns_pre_exit() pernet callback manually acquires rtnl_lock(), blocking indefinitely if rtnl_mutex is concurrently held by the cleanup_net workqueue or setup_net failure rollback path. No public exploit exists and EPSS is extremely low (0.02%, 4th percentile); however, the issue spans a broad range of kernel versions and has been patched in stable releases 6.18.24, 6.19.14, and 7.0.1.

RemediationAI

The primary fix is to upgrade to Linux kernel 6.18.24, 6.19.14, or 7.0.1, which incorporate the .exit_rtnl conversion. Upstream stable-tree patches are available at https://git.kernel.org/stable/c/9a9e69155b2091b8297afaf1533b8d68a3096841, https://git.kernel.org/stable/c/1c52ef00e391144334f10995985c2f256d4be982, and https://git.kernel.org/stable/c/a1d0f6cbb962af29586e3e65a4bced1a5e39221f. Ubuntu users should apply the packages referenced in USN-8488-1; Red Hat and SUSE security channels are expected to carry equivalent fixes. As a compensating control where patching is not immediately possible, unloading the WireGuard kernel module (modprobe -r wireguard) eliminates the vulnerable code path entirely, with the trade-off of disabling all WireGuard VPN tunnels on that host. Restricting local user access to network namespace creation (via sysctl -w user.max_user_namespaces=0 or equivalent AppArmor/SELinux policy) reduces the attack surface without requiring a kernel update, though this may break container workloads that depend on user namespaces.

Affected VersionsENISA

Linux 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 <a1d0f6cbb962af29586e3e65a4bced1a5e39221f
Linux 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 <1c52ef00e391144334f10995985c2f256d4be982
Linux patch: 6.18.24
Linux 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 <9a9e69155b2091b8297afaf1533b8d68a3096841
Linux patch: 7.0.1
Linux patch: 6.19.14

Affects your stack

Find out whether the stacks and servers you run are on an affected version.

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The vulnerability resides in the WireGuard kernel driver (net/wireguard/device.c) within the pernet .pre_exit callback wg_netns_pre_exit(). This callback explicitly calls rtnl_lock() to serialize access while cleaning up WireGuard state during network namespace teardown. The problem is that the cleanup_net workqueue and setup_net failure rollback path may already hold rtnl_mutex, creating a lock-ordering deadlock that causes the kernel thread to hang indefinitely. The fix converts the callback to use the .exit_rtnl hook (introduced in kernel commit 7a60d91c690b), where the framework itself holds RTNL for all callbacks under a single rtnl_lock()/rtnl_unlock() pair, eliminating the contention window. The rcu_assign_pointer(wg->creating_net, NULL) call is safely relocated to .exit_rtnl because it runs after synchronize_rcu(), and all RCU readers either use maybe_get_net() (which returns NULL for a dying namespace) or access net->user_ns which remains valid throughout the operation. Although CWE-476 (Null Pointer Dereference) is tagged in metadata, the primary mechanism is lock contention producing a hung task; the CWE tag is likely secondary. CPE cpe:2.3:a:linux:linux:*:*:*:*:*:*:*:* confirms the issue spans the entire upstream Linux kernel product line.

Know when the next one hits your stack

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

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

Race condition against concurrent rtnl_mutex holder warrants AC:H over NVD's AC:L; all other metrics align with the local, low-privilege, availability-only impact described.

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 MEDIUM
Red Hat 5.5 MEDIUM

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

4
CVSS changed
Apr 27, 2026 - 20:52 NVD
5.5 (MEDIUM)
Patch released
Apr 27, 2026 - 20:43 nvd
Patch available
Patch available
Apr 24, 2026 - 16:16 EUVD
CVE Published
Apr 24, 2026 - 14:42 nvd
MEDIUM 5.5

DescriptionNVD

In the Linux kernel, the following vulnerability has been resolved:

wireguard: device: use exit_rtnl callback instead of manual rtnl_lock in pre_exit

wg_netns_pre_exit() manually acquires rtnl_lock() inside the pernet .pre_exit callback. This causes a hung task when another thread holds rtnl_mutex - the cleanup_net workqueue (or the setup_net failure rollback path) blocks indefinitely in wg_netns_pre_exit() waiting to acquire the lock.

Convert to .exit_rtnl, introduced in commit 7a60d91c690b ("net: Add ->exit_rtnl() hook to struct pernet_operations."), where the framework already holds RTNL and batches all callbacks under a single rtnl_lock()/rtnl_unlock() pair, eliminating the contention window.

The rcu_assign_pointer(wg->creating_net, NULL) is safe to move from .pre_exit to .exit_rtnl (which runs after synchronize_rcu()) because all RCU readers of creating_net either use maybe_get_net()

  • which returns NULL for a dying namespace with zero refcount - or

access net->user_ns which remains valid throughout the entire ops_undo_list sequence.

[ Jason: added __net_exit and __read_mostly annotations that were missing. ]

Threat Intelligence Overview

EPSS Score
0.0%
Top 96% exploitable
Prevalence
High
Linux kernel powers most server, cloud, and container infrastructure globally
Data Quality
6 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Small
Automatable· derived
No
Human Impact· derived
High

Priority Score

28
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +28
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

A null pointer dereference occurs when a program attempts to access memory through a pointer that has been set to NULL (address 0x0).

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

Vendor StatusVendor

SUSE

Severity: Medium
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Fixed
SUSE Linux Enterprise Desktop 15 SP7 Fixed
SUSE Linux Enterprise High Availability Extension 15 SP7 Fixed
SUSE Linux Enterprise High Availability Extension 15 SP7 Fixed
SUSE Linux Enterprise High Performance Computing 15 SP7 Fixed

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