CVE-2026-31579: wireguard: device: use exit_rtnl callback instead of manual rtnl_lock in pre_exit
Vulnerability summary
CVE-2026-31579 is a medium (CVSS 5.5) NULL Pointer Dereference vulnerability in linux. EPSS estimates a 0.15% chance of exploitation in the next 30 days, higher than 4.6% of scored vulnerabilities.
Not severe (CVSS 5.5, local access); no exploitation reported by the 5 checked sources
Source freshness unavailable
How is this decided?Advisory lineage
Upstream 0 · Downstream 7 · Related 8Timeline
- 24-04-2026PublishedVulnerability first disclosed.
- 21-10-2026Last modifiedVulnerability information updated.
Description
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. ]
CVSS metrics
4 scores · 3 sources · 2 versions- OSV · UbuntuEcosystem advisory · calculated5.5MediumCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
- OSV · DebianEcosystem advisory · calculated5.5MediumCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
EPSS trend
Probability
0.15%
Chance of exploitation in the next 30 days
Percentile
5%
Versus all other CVEs
30-day change
Decrease -0.01 pp
From 0.16% on 04-10-2026
Known exploited
Compare KEV catalogsNot in the CISA KEV catalog.
Not in the ENISA CNW catalog.
Not in the CIRCL catalog.
Public exploits
0 foundNo public exploits indexed.
Weaknesses
CWE · root causeAffected systems
Known conditions: local access, low-privilege account, no user interaction (CVSS vector). Other conditions: not stated in public data.
Ubuntu148 products
- linuxAll versions (No fix recorded) | < 7.0.0-27.27
- linux-allwinner-5.19All versions (No fix recorded)
- linux-awsAll versions (No fix recorded) | < 7.0.0-1008.8
- linux-aws-5.0All versions (No fix recorded)
- linux-aws-5.11All versions (No fix recorded)
Chainguard11 products
- linux-aws-6.12All versions (No fix recorded)
- linux-aws-6.18< 6.18.31-r0
- linux-azure-6.12All versions (No fix recorded)
- linux-azure-6.18< 6.18.31-r0
- linux-gcp-6.12All versions (No fix recorded)
Linux2 products
- linux≥ 900575aa33a3eaaef802b31de187a85c4a4b4bd0, < 707607db2193591b68c0e70f814133472c185b1e | ≥ 900575aa33a3eaaef802b31de187a85c4a4b4bd0, < 9a9e69155b2091b8297afaf1533b8d68a3096841 | ≥ 900575aa33a3eaaef802b31de187a85c4a4b4bd0, < 1c52ef00e391144334f10995985c2f256d4be982 | ≥ 900575aa33a3eaaef802b31de187a85c4a4b4bd0, < a1d0f6cbb962af29586e3e65a4bced1a5e39221f | ≥ 900575aa33a3eaaef802b31de187a85c4a4b4bd0, < 60a25ef8dacb3566b1a8c4de00572a498e2a3bf9 | 363cc6efdbb54bb06cd5034a69b41aae974a736f | ≥ 5.7.7, < 5.8 | 5.8
- linux_kernel< 6.18.24 | ≥ 6.19, < 6.19.14 | ≥ 7.0, < 7.0.1
Debian1 product
- linuxAll versions (No fix recorded) | < 6.12.115-2 | < 6.19.14-1
4 vendors · 162 products