IM
IronMonkey Threat Research

CVE-2024-33847 HIGH

Published: 2024-06-24 | Last Modified: 2026-08-04 | Status: Modified

Description

In the Linux kernel, the following vulnerability has been resolved: f2fs: compress: don't allow unaligned truncation on released compress inode f2fs image may be corrupted after below testcase: - mkfs.f2fs -O extra_attr,compression -f /dev/vdb - mount /dev/vdb /mnt/f2fs - touch /mnt/f2fs/file - f2fs_io setflags compression /mnt/f2fs/file - dd if=/dev/zero of=/mnt/f2fs/file bs=4k count=4 - f2fs_io release_cblocks /mnt/f2fs/file - truncate -s 8192 /mnt/f2fs/file - umount /mnt/f2fs - fsck.f2fs /dev/vdb [ASSERT] (fsck_chk_inode_blk:1256) --> ino: 0x5 has i_blocks: 0x00000002, but has 0x3 blocks [FSCK] valid_block_count matching with CP [Fail] [0x4, 0x5] [FSCK] other corrupted bugs [Fail] The reason is: partial truncation assume compressed inode has reserved blocks, after partial truncation, valid block count may change w/o .i_blocks and .total_valid_block_count update, result in corruption. This patch only allow cluster size aligned truncation on released compress inode for fixing.

Additional Descriptions (1)

En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: f2fs: comprimir: no permitir el truncamiento no alineado en el inodo comprimido liberado. La imagen f2fs puede estar dañada después del siguiente caso de prueba: - mkfs.f2fs -O extra_attr,compression -f /dev/vdb - montar /dev/vdb /mnt/f2fs - tocar /mnt/f2fs/file - f2fs_io setflags compresión /mnt/f2fs/file - dd if=/dev/zero of=/mnt/f2fs/file bs=4k count=4 - f2fs_io release_cblocks /mnt/f2fs/file - truncate -s 8192 /mnt/f2fs/file - umount /mnt/f2fs - fsck.f2fs /dev/vdb [ASSERT] (fsck_chk_inode_blk:1256) --> ino: 0x5 tiene i_blocks : 0x00000002, pero tiene bloques 0x3 [FSCK] valid_block_count que coincide con CP [Falla] [0x4, 0x5] [FSCK] otros errores corruptos [Falla] La razón es: truncamiento parcial se supone que el inodo comprimido tiene bloques reservados, después del truncamiento parcial, bloque válido El recuento puede cambiar sin la actualización de .i_blocks y .total_valid_block_count, lo que provoca corrupción. Este parche solo permite el truncamiento alineado con el tamaño del clúster en el inodo comprimido liberado para su reparación.

CVSS Metrics

Base Score: 5.5 (MEDIUM)

CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

Attack VectorLOCAL
Attack ComplexityLOW
Privileges RequiredLOW
User InteractionNONE
ScopeUNCHANGED
Confidentiality ImpactNONE
Integrity ImpactNONE
Availability ImpactHIGH

Source: [email protected]

Type: Primary

Exploitability Score: 1.8

Impact Score: 3.6

Weaknesses

Source Type Description
[email protected] Primary
en NVD-CWE-noinfo

Affected Products

Vendor Product Version Update Type
linux linux_kernel * <built-in method update of dict object at 0x7fd3406e1000> Operating System
linux linux_kernel * <built-in method update of dict object at 0x7fd370345040> Operating System
linux linux_kernel * <built-in method update of dict object at 0x7fd3406e3280> Operating System
linux linux_kernel * <built-in method update of dict object at 0x7fd342602700> Operating System

Affected Configurations

Operator: OR

Vulnerable CPE
Yes cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Yes cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Yes cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Yes cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*

References