Vulnerabilidad en kernel de Linux (CVE-2021-47107)
Gravedad CVSS v3.1:
ALTA
Tipo:
CWE-120
Copia de búfer sin comprobación del tamaño de entrada (Desbordamiento de búfer clásico)
Fecha de publicación:
04/03/2024
Última modificación:
14/02/2025
Descripción
En el kernel de Linux, se resolvió la siguiente vulnerabilidad: NFSD: corrige el desbordamiento del búfer READDIR Si un cliente envía un argumento de recuento READDIR que es demasiado pequeño (digamos, cero), entonces el cálculo del tamaño del búfer en las nuevas funciones auxiliares init_dirlist da como resultado un subdesbordamiento, lo que permite que las funciones de flujo XDR escriban más allá del búfer real. Este cálculo siempre ha sido sospechoso. NFSD nunca ha verificado la cordura del argumento de conteo READDIR, pero los codificadores de entrada antiguos manejaron el problema correctamente. Con las confirmaciones a continuación, la codificación de entrada cambió, exponiendo el desbordamiento a la aritmética del puntero en xdr_reserve_space(). Los clientes NFS modernos intentan recuperar la mayor cantidad de datos posible para cada solicitud READDIR. Además, no tenemos pruebas unitarias que ejerzan el comportamiento de READDIR en el límite inferior de los valores @count. Por lo tanto, este caso se pasó por alto durante las pruebas.
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:*:*:*:*:*:*:*:* | 5.13 (incluyendo) | 5.15.12 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:5.16:rc1:*:*:*:*:*:* | ||
cpe:2.3:o:linux:linux_kernel:5.16:rc2:*:*:*:*:*:* | ||
cpe:2.3:o:linux:linux_kernel:5.16:rc3:*:*:*:*:*:* | ||
cpe:2.3:o:linux:linux_kernel:5.16:rc4:*:*:*:*:*:* | ||
cpe:2.3:o:linux:linux_kernel:5.16:rc5:*:*:*:*:*:* | ||
cpe:2.3:o:linux:linux_kernel:5.16:rc6:*:*:*:*:*:* |
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/53b1119a6e5028b125f431a0116ba73510d82a72
- https://git.kernel.org/stable/c/9e291a6a28d32545ed2fd959a8165144d1724df1
- https://git.kernel.org/stable/c/eabc0aab98e5218ceecd82069b0d6fdfff5ee885
- https://git.kernel.org/stable/c/53b1119a6e5028b125f431a0116ba73510d82a72
- https://git.kernel.org/stable/c/9e291a6a28d32545ed2fd959a8165144d1724df1
- https://git.kernel.org/stable/c/eabc0aab98e5218ceecd82069b0d6fdfff5ee885