Vulnerabilidad en Linux (CVE-2026-23235)
Gravedad CVSS v3.1:
ALTA
Tipo:
CWE-125
Lectura fuera de límites
Fecha de publicación:
04/03/2026
Última modificación:
17/03/2026
Descripción
En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta:<br />
<br />
f2fs: corrige el acceso fuera de límites en la lectura/escritura de atributos sysfs<br />
<br />
Algunos atributos sysfs de f2fs sufren de acceso a memoria fuera de límites y manejo incorrecto de valores enteros cuyo tamaño no es de 4 bytes.<br />
<br />
Por ejemplo:<br />
vm:~# echo 65537 &gt; /sys/fs/f2fs/vde/carve_out<br />
vm:~# cat /sys/fs/f2fs/vde/carve_out<br />
65537<br />
vm:~# echo 4294967297 &gt; /sys/fs/f2fs/vde/atgc_age_threshold<br />
vm:~# cat /sys/fs/f2fs/vde/atgc_age_threshold<br />
1<br />
<br />
carve_out se mapea a {struct f2fs_sb_info}-&gt;carve_out, que es un entero de 8 bits. Sin embargo, la interfaz sysfs permite establecerlo a un valor mayor que 255, lo que resulta en una actualización fuera de rango.<br />
<br />
atgc_age_threshold se mapea a {struct atgc_management}-&gt;age_threshold, que es un entero de 64 bits, pero su interfaz sysfs no puede establecer correctamente valores mayores que UINT_MAX.<br />
<br />
Las causas raíz son:<br />
1. __sbi_store() trata todos los valores predeterminados como unsigned int, lo que impide actualizar enteros mayores de 4 bytes y causa escrituras fuera de límites para enteros menores de 4 bytes.<br />
<br />
2. f2fs_sbi_show() también asume que todos los valores predeterminados son unsigned int, lo que lleva a lecturas fuera de límites y acceso incorrecto a enteros mayores de 4 bytes.<br />
<br />
Este parche introduce {struct f2fs_attr}-&gt;size para registrar el tamaño real del entero asociado con cada atributo sysfs. Con esta información, las operaciones de lectura y escritura de sysfs pueden acceder y actualizar valores correctamente según su tamaño de datos real, evitando la corrupción de memoria y la truncación.
Impacto
Puntuación base 3.x
7.10
Gravedad 3.x
ALTA
Productos y versiones vulnerables
| CPE | Desde | Hasta |
|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 3.12 (incluyendo) | 5.10.251 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.11 (incluyendo) | 5.15.201 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 (incluyendo) | 6.1.164 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.2 (incluyendo) | 6.6.127 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (incluyendo) | 6.12.74 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.13 (incluyendo) | 6.18.13 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.19 (incluyendo) | 6.19.3 (excluyendo) |
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/3a905e183c047577b154f08a78ac3039e9454703
- https://git.kernel.org/stable/c/438a405fbad6882df0e34b3e1a16839a71f04240
- https://git.kernel.org/stable/c/4ef30b9f1641c9e877792df6b049f1cf507d002d
- https://git.kernel.org/stable/c/6a6c07a9b49e43f0df42d7118fc76aa555c73d98
- https://git.kernel.org/stable/c/98ea0039dbfdd00e5cc1b9a8afa40434476c0955
- https://git.kernel.org/stable/c/d4a594dd952df123cbdcdee9b9640d9d55e4a954
- https://git.kernel.org/stable/c/e85a99db9ab85dfc30d93b0ca0e9156f3127f55a
- https://git.kernel.org/stable/c/eebd72cff518ac87e660aefb8a41224bd88c32ce



