CVE-2024-39469

CVE-2024-39469

High · published June 25, 2024

CVSS v3.1
7.1
EPSS
0%
Percentile
15.7
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

nilfs2: fix nilfs_empty_dir() misjudgment and long loop on I/O errors

The error handling in nilfs_empty_dir() when a directory folio/page read

fails is incorrect, as in the old ext2 implementation, and if the

folio/page cannot be read or nilfs_check_folio() fails, it will falsely

determine the directory as empty and corrupt the file system.

In addition, since nilfs_empty_dir() does not immediately return on a

failed folio/page read, but continues to loop, this can cause a long loop

with I/O if i_size of the directory's inode is also corrupted, causing the

log writer thread to wait and hang, as reported by syzbot.

Fix these issues by making nilfs_empty_dir() immediately return a false

value (0) if it fails to get a directory folio/page.

The record
Technical detail
CVSS v3.1
7.1 · HIGH
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00251 · 15.7th percentile
Published
2024-06-25T19:15Z
Affected products (9)
ProductVersionsFixed in
linux/linux_kernel≥ 2.6.30, < 4.19.3174.19.317
linux/linux_kernel≥ 4.20, < 5.4.2795.4.279
linux/linux_kernel≥ 5.5, < 5.10.2215.10.221
linux/linux_kernel≥ 5.11, < 5.15.1625.15.162
linux/linux_kernel≥ 5.16, < 6.1.956.1.95
linux/linux_kernel≥ 6.2, < 6.6.356.6.35
linux/linux_kernel≥ 6.7, < 6.9.56.9.5
linux/linux_kernelall versions—
linux/linux_kernelall versions—
References (19)
https://git.kernel.org/stable/c/11a2edb70356a2202dcb7c9c189c8356ab4752cd · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/129dcd3e7d036218db3f59c82d82004b9539ed82 · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/2ac8a2fe22bdde9eecce2a42cf5cab79333fb428 · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/405b71f1251e5ae865f53bd27c45114e6c83bee3 · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/59f14875a96ef93f05b82ad3c980605f2cb444b5 · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/7373a51e7998b508af7136530f3a997b286ce81c · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/c77ad608df6c091fe64ecb91f41ef7cb465587f1 · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/d18b05eda7fa77f02114f15b02c009f28ee42346 · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/11a2edb70356a2202dcb7c9c189c8356ab4752cd · af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/129dcd3e7d036218db3f59c82d82004b9539ed82 · af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/2ac8a2fe22bdde9eecce2a42cf5cab79333fb428 · af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/405b71f1251e5ae865f53bd27c45114e6c83bee3 · af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/59f14875a96ef93f05b82ad3c980605f2cb444b5 · af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/7373a51e7998b508af7136530f3a997b286ce81c · af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/c77ad608df6c091fe64ecb91f41ef7cb465587f1 · af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/d18b05eda7fa77f02114f15b02c009f28ee42346 · af854a3a-2127-422b-91ae-364da2661108https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html · af854a3a-2127-422b-91ae-364da2661108https://cert-portal.siemens.com/productcert/html/ssa-355557.html · 0b142b55-0307-4c5a-b3c9-f314f3fb7c5ehttps://cert-portal.siemens.com/productcert/html/ssa-398330.html · 0b142b55-0307-4c5a-b3c9-f314f3fb7c5e
EPSS history
Timeline
  • 25 JUN 14:28Z
    nilfs2: fix nilfs_empty_dir() misjudgment and long loop on I/O errors
    cvelistv5