CVE-2024-26981

nilfs2: fix OOB in nilfs_set_de_type

published May 1, 2024

CVSS
—
EPSS
0%
Percentile
18.7
In the wild
Unconfirmed
What it is

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.

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00273 · 18.7th percentile
Published
2024-05-01T05:27Z
EPSS history
Timeline
  • 01 MAY 05:27Z
    nilfs2: fix OOB in nilfs_set_de_type
    cvelistv5