Assigner | Linux |
Reserved | 2024-02-19 |
Published | 2024-05-01 |
Updated | 2024-07-17 |
Description
In the Linux kernel, the following vulnerability has been resolved: nilfs2: fix OOB in nilfs_set_de_type The size of the nilfs_type_by_mode array in the fs/nilfs2/dir.c file is defined as "S_IFMT >> S_SHIFT", but the nilfs_set_de_type() function, which uses this array, specifies the index to read from the array in the same way as "(mode & S_IFMT) >> S_SHIFT". static void nilfs_set_de_type(struct nilfs_dir_entry *de, struct inode *inode) { umode_t mode = inode->i_mode; de->file_type = nilfs_type_by_mode[(mode & S_IFMT)>>S_SHIFT]; // oob } However, when the index is determined this way, an out-of-bounds (OOB) error occurs by referring to an index that is 1 larger than the array size when the condition "mode & S_IFMT == S_IFMT" is satisfied. Therefore, a patch to resize the nilfs_type_by_mode array should be applied to prevent OOB errors.
Product status
2ba466d74ed7 before 054f29e9ca05
2ba466d74ed7 before 90f43980ea6b
2ba466d74ed7 before 7061c7efbb9e
2ba466d74ed7 before bdbe483da21f
2ba466d74ed7 before 897ac5306bbe
2ba466d74ed7 before 2382eae66b19
2ba466d74ed7 before 90823f8d9ecc
2ba466d74ed7 before c4a7dc9523b5
2.6.30
Any version before 2.6.30
4.19.313
5.4.275
5.10.216
5.15.157
6.1.88
6.6.29
6.8.8
6.9
References
https://git.kernel.org/stable/c/054f29e9ca05be3906544c5f2a2c7321c30a4243
https://git.kernel.org/stable/c/90f43980ea6be4ad903e389be9a27a2a0018f1c8
https://git.kernel.org/stable/c/7061c7efbb9e8f11ce92d6b4646405ea2b0b4de1
https://git.kernel.org/stable/c/bdbe483da21f852c93b22557b146bc4d989260f0
https://git.kernel.org/stable/c/897ac5306bbeb83e90c437326f7044c79a17c611
https://git.kernel.org/stable/c/2382eae66b196c31893984a538908c3eb7506ff9
https://git.kernel.org/stable/c/90823f8d9ecca3d5fa6b102c8e464c62f416975f
https://git.kernel.org/stable/c/c4a7dc9523b59b3e73fd522c73e95e072f876b16
https://lists.debian.org/debian-lts-announce/2024/06/msg00017.html
https://lists.debian.org/debian-lts-announce/2024/06/msg00020.html