CVE-2023-53101
Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
02/05/2025
Last modified:
10/11/2025
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
ext4: zero i_disksize when initializing the bootloader inode<br />
<br />
If the boot loader inode has never been used before, the<br />
EXT4_IOC_SWAP_BOOT inode will initialize it, including setting the<br />
i_size to 0. However, if the "never before used" boot loader has a<br />
non-zero i_size, then i_disksize will be non-zero, and the<br />
inconsistency between i_size and i_disksize can trigger a kernel<br />
warning:<br />
<br />
WARNING: CPU: 0 PID: 2580 at fs/ext4/file.c:319<br />
CPU: 0 PID: 2580 Comm: bb Not tainted 6.3.0-rc1-00004-g703695902cfa<br />
RIP: 0010:ext4_file_write_iter+0xbc7/0xd10<br />
Call Trace:<br />
vfs_write+0x3b1/0x5c0<br />
ksys_write+0x77/0x160<br />
__x64_sys_write+0x22/0x30<br />
do_syscall_64+0x39/0x80<br />
<br />
Reproducer:<br />
1. create corrupted image and mount it:<br />
mke2fs -t ext4 /tmp/foo.img 200<br />
debugfs -wR "sif size 25700" /tmp/foo.img<br />
mount -t ext4 /tmp/foo.img /mnt<br />
cd /mnt<br />
echo 123 > file<br />
2. Run the reproducer program:<br />
posix_memalign(&buf, 1024, 1024)<br />
fd = open("file", O_RDWR | O_DIRECT);<br />
ioctl(fd, EXT4_IOC_SWAP_BOOT);<br />
write(fd, buf, 1024);<br />
<br />
Fix this by setting i_disksize as well as i_size to zero when<br />
initiaizing the boot loader inode.
Impact
Base Score 3.x
5.50
Severity 3.x
MEDIUM
Vulnerable products and versions
| CPE | From | Up to |
|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 4.14.310 (excluding) | |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 4.15 (including) | 4.19.278 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 4.20 (including) | 5.4.237 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.5 (including) | 5.10.175 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.11 (including) | 5.15.103 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 (including) | 6.1.20 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.2 (including) | 6.2.7 (excluding) |
| cpe:2.3:o:linux:linux_kernel:6.3:rc1:*:*:*:*:*:* |
To consult the complete list of CPE names with products and versions, see this page
References to Advisories, Solutions, and Tools
- https://git.kernel.org/stable/c/01a821aacc64d4b05dafd239dbc9b7856686002f
- https://git.kernel.org/stable/c/0d8a6c9a6415999fee1259ccf1796480c026b7d6
- https://git.kernel.org/stable/c/3f00c476da8fe7c4c34ea16abb55d74127120413
- https://git.kernel.org/stable/c/59eee0cdf8c036f554add97a4da7c06d7a9ff34a
- https://git.kernel.org/stable/c/9cb27b1e76f0cc886ac09055bc41c0ab3f205167
- https://git.kernel.org/stable/c/9e9a4cc5486356158554f6ad73027d8635a48b34
- https://git.kernel.org/stable/c/d6c1447e483c05dbcfb3ff77ac04237a82070b8c
- https://git.kernel.org/stable/c/f5361da1e60d54ec81346aee8e3d8baf1be0b762



