Vulnerabilidad en kernel de Linux (CVE-2021-47114)
Gravedad CVSS v3.1:
MEDIA
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
15/03/2024
Última modificación:
04/04/2025
Descripción
En el kernel de Linux, se resolvió la siguiente vulnerabilidad: ocfs2: corrige la corrupción de datos por fallocate Cuando fallocate perfora agujeros en el tamaño del inodo, si el isize original está en el medio del último clúster, entonces la parte desde isize hasta el final del clúster se pondrá a cero con la escritura en el búfer, en ese momento isize aún no se ha actualizado para que coincida con el nuevo tamaño, si se activa la reescritura, invocará ocfs2_writepage()->block_write_full_page() donde se eliminarán las páginas fuera del tamaño del inodo. Eso causará corrupción de archivos. Solucione este problema poniendo a cero los bloques eof al extender el tamaño del inodo. Ejecutar el siguiente comando con qemu-image 4.2.1 puede obtener fácilmente un archivo de imagen corrupto y convertido. qemu-img convert -p -t none -T none -f qcow2 $qcow_image \ -O qcow2 -o compat=1.1 $qcow_image.conv El uso de fallocate en qemu es así, primero perfora agujeros en el tamaño del inodo, luego ampliar el tamaño del inodo. fallocate(11, FALLOC_FL_KEEP_SIZE|FALLOC_FL_PUNCH_HOLE, 2276196352, 65536) = 0 fallocate(11, 0, 2276196352, 65536) = 0 v1: https://www.spinics.net/lists/linux-fsdevel/msg193999.html v2: https //lore.kernel.org/linux-fsdevel/20210525093034.GB4112@quack2.suse.cz/T/
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:*:*:*:*:*:*:*:* | 4.4.272 (excluyendo) | |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 4.5 (incluyendo) | 4.9.272 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 4.10 (incluyendo) | 4.14.236 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 4.15 (incluyendo) | 4.19.194 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 4.20 (incluyendo) | 5.4.125 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.5 (incluyendo) | 5.10.43 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.11 (incluyendo) | 5.12.10 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:5.13:rc1:*:*:*:*:*:* | ||
cpe:2.3:o:linux:linux_kernel:5.13:rc2:*:*:*:*:*:* | ||
cpe:2.3:o:linux:linux_kernel:5.13:rc3:*:*:*:*:*:* | ||
cpe:2.3:o:linux:linux_kernel:5.13:rc4:*:*:*:*:*:* |
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/0a31dd6fd2f4e7db538fb6eb1f06973d81f8dd3b
- https://git.kernel.org/stable/c/33e03adafb29eedae1bae9cdb50c1385279fcf65
- https://git.kernel.org/stable/c/624fa7baa3788dc9e57840ba5b94bc22b03cda57
- https://git.kernel.org/stable/c/6bba4471f0cc1296fe3c2089b9e52442d3074b2e
- https://git.kernel.org/stable/c/a1700479524bb9cb5e8ae720236a6fabd003acae
- https://git.kernel.org/stable/c/c8d5faee46242c3f33b8a71a4d7d52214785bfcc
- https://git.kernel.org/stable/c/cc2edb99ea606a45182b5ea38cc8f4e583aa0774
- https://git.kernel.org/stable/c/cec4e857ffaa8c447f51cd8ab4e72350077b6770
- https://git.kernel.org/stable/c/0a31dd6fd2f4e7db538fb6eb1f06973d81f8dd3b
- https://git.kernel.org/stable/c/33e03adafb29eedae1bae9cdb50c1385279fcf65
- https://git.kernel.org/stable/c/624fa7baa3788dc9e57840ba5b94bc22b03cda57
- https://git.kernel.org/stable/c/6bba4471f0cc1296fe3c2089b9e52442d3074b2e
- https://git.kernel.org/stable/c/a1700479524bb9cb5e8ae720236a6fabd003acae
- https://git.kernel.org/stable/c/c8d5faee46242c3f33b8a71a4d7d52214785bfcc
- https://git.kernel.org/stable/c/cc2edb99ea606a45182b5ea38cc8f4e583aa0774
- https://git.kernel.org/stable/c/cec4e857ffaa8c447f51cd8ab4e72350077b6770