Vulnerabilidad en Linux (CVE-2026-23111)
Gravedad CVSS v3.1:
ALTA
Tipo:
CWE-416
Utilización después de liberación
Fecha de publicación:
13/02/2026
Última modificación:
03/04/2026
Descripción
En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta:<br />
<br />
netfilter: nf_tables: corrección de la comprobación genmask invertida en nft_map_catchall_activate()<br />
<br />
nft_map_catchall_activate() tiene una comprobación de actividad de elemento invertida en comparación con su contraparte no-catchall nft_mapelem_activate() y en comparación con lo que se requiere lógicamente.<br />
<br />
nft_map_catchall_activate() es llamada desde la ruta de aborto para reactivar elementos de mapa catchall que fueron desactivados durante una transacción fallida. Debería omitir los elementos que ya están activos (no necesitan reactivación) y procesar los elementos que están inactivos (necesitan ser restaurados). En cambio, el código actual hace lo contrario: omite los elementos inactivos y procesa los activos.<br />
<br />
Compare la devolución de llamada de activación no-catchall, que es correcta:<br />
<br />
nft_mapelem_activate():<br />
if (nft_set_elem_active(ext, iter-&gt;genmask))<br />
return 0; /* omitir activos, procesar inactivos */<br />
<br />
Con la versión catchall con errores:<br />
<br />
nft_map_catchall_activate():<br />
if (!nft_set_elem_active(ext, genmask))<br />
continue; /* omitir inactivos, procesar activos */<br />
<br />
La consecuencia es que cuando una operación DELSET es abortada, nft_setelem_data_activate() nunca es llamada para el elemento catchall. Para los elementos de veredicto NFT_GOTO, esto significa que nft_data_hold() nunca es llamada para restaurar el contador de referencias chain-&gt;use. Cada ciclo de aborto decrementa permanentemente chain-&gt;use. Una vez que chain-&gt;use llega a cero, DELCHAIN tiene éxito y libera la cadena mientras que los elementos de veredicto catchall aún la referencian, resultando en un uso después de liberación.<br />
<br />
Esto es explotable para escalada de privilegios local desde un usuario sin privilegios a través de espacios de nombres de usuario + nftables en distribuciones que habilitan CONFIG_USER_NS y CONFIG_NF_TABLES.<br />
<br />
Corrección eliminando la negación para que la comprobación coincida con nft_mapelem_activate(): omitir elementos activos, procesar inactivos.
Impacto
Puntuación base 3.x
7.80
Gravedad 3.x
ALTA
Productos y versiones vulnerables
| CPE | Desde | Hasta |
|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 4.19.316 (incluyendo) | 4.20 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.4.262 (incluyendo) | 5.5 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.10.188 (incluyendo) | 5.11 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.15.121 (incluyendo) | 5.15.200 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.1.36 (incluyendo) | 6.1.163 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.3.10 (incluyendo) | 6.4 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.4.1 (incluyendo) | 6.6.124 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (incluyendo) | 6.12.70 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.13 (incluyendo) | 6.18.10 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:6.4:-:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.19:rc1:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.19:rc2:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.19:rc3:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.19:rc4:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.19:rc5:*:*:*:*:*:* |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página
Referencias a soluciones, herramientas e información
- https://git.kernel.org/stable/c/1444ff890b4653add12f734ffeffc173d42862dd
- https://git.kernel.org/stable/c/42c574c1504aa089a0a142e4c13859327570473d
- https://git.kernel.org/stable/c/8b68a45f9722f2babe9e7bad00aa74638addf081
- https://git.kernel.org/stable/c/8c760ba4e36c750379d13569f23f5a6e185333f5
- https://git.kernel.org/stable/c/b9b6573421de51829f7ec1cce76d85f5f6fbbd7f
- https://git.kernel.org/stable/c/f41c5d151078c5348271ffaf8e7410d96f2d82f8



