CVE-2024-26981

nilfs2: fix OOB in nilfs_set_de_type

State
Published
Severity
Not scored
Published
May 1, 2024
Updated
May 11, 2026
Reserved
Feb 19, 2024

Read the record on cve.org

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.

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 2ba466d74ed74f073257f86e61519cb8f8f46184 to before 054f29e9ca05be3906544c5f2a2c7321c30a4243Affected
  • 2ba466d74ed74f073257f86e61519cb8f8f46184 to before 90f43980ea6be4ad903e389be9a27a2a0018f1c8Affected
  • 2ba466d74ed74f073257f86e61519cb8f8f46184 to before 7061c7efbb9e8f11ce92d6b4646405ea2b0b4de1Affected
  • 2ba466d74ed74f073257f86e61519cb8f8f46184 to before bdbe483da21f852c93b22557b146bc4d989260f0Affected
  • 2ba466d74ed74f073257f86e61519cb8f8f46184 to before 897ac5306bbeb83e90c437326f7044c79a17c611Affected
  • 2ba466d74ed74f073257f86e61519cb8f8f46184 to before 2382eae66b196c31893984a538908c3eb7506ff9Affected
  • 2ba466d74ed74f073257f86e61519cb8f8f46184 to before 90823f8d9ecca3d5fa6b102c8e464c62f416975fAffected
  • 2ba466d74ed74f073257f86e61519cb8f8f46184 to before c4a7dc9523b59b3e73fd522c73e95e072f876b16Affected
LinuxLinux
  • 2.6.30Affected
  • before 2.6.30Not affected
  • 4.19.313 through 4.19.*Not affected
  • 5.4.275 through 5.4.*Not affected
  • 5.10.216 through 5.10.*Not affected
  • 5.15.157 through 5.15.*Not affected
  • 6.1.88 through 6.1.*Not affected
  • 6.6.29 through 6.6.*Not affected
  • 6.8.8 through 6.8.*Not affected
  • 6.9 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.