CVE-2026-31579
Gravedad CVSS v3.1:
MEDIA
Tipo:
CWE-476
Desreferencia a puntero nulo (NULL)
Fecha de publicación:
24/04/2026
Última modificación:
27/04/2026
Descripción
*** Pendiente de traducción *** In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
wireguard: device: use exit_rtnl callback instead of manual rtnl_lock in pre_exit<br />
<br />
wg_netns_pre_exit() manually acquires rtnl_lock() inside the<br />
pernet .pre_exit callback. This causes a hung task when another<br />
thread holds rtnl_mutex - the cleanup_net workqueue (or the<br />
setup_net failure rollback path) blocks indefinitely in<br />
wg_netns_pre_exit() waiting to acquire the lock.<br />
<br />
Convert to .exit_rtnl, introduced in commit 7a60d91c690b ("net:<br />
Add ->exit_rtnl() hook to struct pernet_operations."), where the<br />
framework already holds RTNL and batches all callbacks under a<br />
single rtnl_lock()/rtnl_unlock() pair, eliminating the contention<br />
window.<br />
<br />
The rcu_assign_pointer(wg->creating_net, NULL) is safe to move<br />
from .pre_exit to .exit_rtnl (which runs after synchronize_rcu())<br />
because all RCU readers of creating_net either use maybe_get_net()<br />
- which returns NULL for a dying namespace with zero refcount - or<br />
access net->user_ns which remains valid throughout the entire<br />
ops_undo_list sequence.<br />
<br />
[ Jason: added __net_exit and __read_mostly annotations that were missing. ]
Impacto
Puntuación base 3.x
5.50
Gravedad 3.x
MEDIA
Productos y versiones vulnerables
| CPE | Desde | Hasta |
|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.18.24 (excluyendo) | |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.19 (incluyendo) | 6.19.14 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 7.0 (incluyendo) | 7.0.1 (excluyendo) |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página



