CVE-2021-47114

In the Linux kernel, the following vulnerability has been resolved: ocfs2: fix data corruption by fallocate When fallocate punches holes out of inode size, if original isize is in the middle of last cluster, then the part from isize to the end of the cluster will be zeroed with buffer write, at that time isize is not yet updated to match the new size, if writeback is kicked in, it will invoke ocfs2_writepage()->block_write_full_page() where the pages out of inode size will be dropped. That will cause file corruption. Fix this by zero out eof blocks when extending the inode size. Running the following command with qemu-image 4.2.1 can get a corrupted coverted image file easily. qemu-img convert -p -t none -T none -f qcow2 $qcow_image \ -O qcow2 -o compat=1.1 $qcow_image.conv The usage of fallocate in qemu is like this, it first punches holes out of inode size, then extend the inode size. 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/
Configurations

Configuration 1 (hide)

OR cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
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:*:*:*:*:*:*

History

04 Apr 2025, 14:39

Type Values Removed Values Added
References () https://git.kernel.org/stable/c/0a31dd6fd2f4e7db538fb6eb1f06973d81f8dd3b - () https://git.kernel.org/stable/c/0a31dd6fd2f4e7db538fb6eb1f06973d81f8dd3b - Patch
References () https://git.kernel.org/stable/c/33e03adafb29eedae1bae9cdb50c1385279fcf65 - () https://git.kernel.org/stable/c/33e03adafb29eedae1bae9cdb50c1385279fcf65 - Patch
References () https://git.kernel.org/stable/c/624fa7baa3788dc9e57840ba5b94bc22b03cda57 - () https://git.kernel.org/stable/c/624fa7baa3788dc9e57840ba5b94bc22b03cda57 - Patch
References () https://git.kernel.org/stable/c/6bba4471f0cc1296fe3c2089b9e52442d3074b2e - () https://git.kernel.org/stable/c/6bba4471f0cc1296fe3c2089b9e52442d3074b2e - Patch
References () https://git.kernel.org/stable/c/a1700479524bb9cb5e8ae720236a6fabd003acae - () https://git.kernel.org/stable/c/a1700479524bb9cb5e8ae720236a6fabd003acae - Patch
References () https://git.kernel.org/stable/c/c8d5faee46242c3f33b8a71a4d7d52214785bfcc - () https://git.kernel.org/stable/c/c8d5faee46242c3f33b8a71a4d7d52214785bfcc - Patch
References () https://git.kernel.org/stable/c/cc2edb99ea606a45182b5ea38cc8f4e583aa0774 - () https://git.kernel.org/stable/c/cc2edb99ea606a45182b5ea38cc8f4e583aa0774 - Patch
References () https://git.kernel.org/stable/c/cec4e857ffaa8c447f51cd8ab4e72350077b6770 - () https://git.kernel.org/stable/c/cec4e857ffaa8c447f51cd8ab4e72350077b6770 - Patch
CPE cpe:2.3:o:linux:linux_kernel:5.13:rc4:*:*:*:*:*:*
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:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:5.13:rc3:*:*:*:*:*:*
CWE NVD-CWE-noinfo
First Time Linux linux Kernel
Linux

21 Nov 2024, 06:35

Type Values Removed Values Added
References () https://git.kernel.org/stable/c/0a31dd6fd2f4e7db538fb6eb1f06973d81f8dd3b - () https://git.kernel.org/stable/c/0a31dd6fd2f4e7db538fb6eb1f06973d81f8dd3b -
References () https://git.kernel.org/stable/c/33e03adafb29eedae1bae9cdb50c1385279fcf65 - () https://git.kernel.org/stable/c/33e03adafb29eedae1bae9cdb50c1385279fcf65 -
References () https://git.kernel.org/stable/c/624fa7baa3788dc9e57840ba5b94bc22b03cda57 - () https://git.kernel.org/stable/c/624fa7baa3788dc9e57840ba5b94bc22b03cda57 -
References () https://git.kernel.org/stable/c/6bba4471f0cc1296fe3c2089b9e52442d3074b2e - () https://git.kernel.org/stable/c/6bba4471f0cc1296fe3c2089b9e52442d3074b2e -
References () https://git.kernel.org/stable/c/a1700479524bb9cb5e8ae720236a6fabd003acae - () https://git.kernel.org/stable/c/a1700479524bb9cb5e8ae720236a6fabd003acae -
References () https://git.kernel.org/stable/c/c8d5faee46242c3f33b8a71a4d7d52214785bfcc - () https://git.kernel.org/stable/c/c8d5faee46242c3f33b8a71a4d7d52214785bfcc -
References () https://git.kernel.org/stable/c/cc2edb99ea606a45182b5ea38cc8f4e583aa0774 - () https://git.kernel.org/stable/c/cc2edb99ea606a45182b5ea38cc8f4e583aa0774 -
References () https://git.kernel.org/stable/c/cec4e857ffaa8c447f51cd8ab4e72350077b6770 - () https://git.kernel.org/stable/c/cec4e857ffaa8c447f51cd8ab4e72350077b6770 -

05 Nov 2024, 17:35

Type Values Removed Values Added
CVSS v2 : unknown
v3 : unknown
v2 : unknown
v3 : 5.5
Summary
  • (es) 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/

15 Mar 2024, 21:15

Type Values Removed Values Added
New CVE

Information

Published : 2024-03-15 21:15

Updated : 2025-04-04 14:39


NVD link : CVE-2021-47114

Mitre link : CVE-2021-47114

CVE.ORG link : CVE-2021-47114


JSON object : View

Products Affected

linux

  • linux_kernel