CVE-2024-47669
MediumIn the Linux kernel, the following vulnerability has been resolved: nilfs2: fix state management in error path of log writing function After commit a694291a6211 ("nilfs2: separate wait function from nilfs_segctor_write") was applied, the log writing function nilfs_segctor_do_construct() was able to issue I/O requests continuously even if user data blocks were split into multiple logs across segments, but two potential flaws were introduced in its error handling. First, if nilfs_segctor_begin_construction() fails while creating the second or subsequent logs, the log writing function returns without calling nilfs_segctor_abort_construction(), so the writeback flag set on pages/folios will remain uncleared. This causes page cache operations to hang waiting for the writeback flag. For example, truncate_inode_pages_final(), which is called via nilfs_evict_inode() when an inode is evicted from memory, will hang. Second, the NILFS_I_COLLECTED flag set on normal inodes remain uncleared. As a result, if the next log write involves checkpoint creation, that's fine, but if a partial log write is performed that does not, inodes with NILFS_I_COLLECTED set are erroneously removed from the "sc_dirty_files" list, and their data and b-tree blocks may not be written to the device, corrupting the block mapping. Fix these issues by uniformly calling nilfs_segctor_abort_construction() on failure of each step in the loop in nilfs_segctor_do_construct(), having it clean up logs and segment usages according to progress, and correcting the conditions for calling nilfs_redirty_inodes() to ensure that the NILFS_I_COLLECTED flag is cleared.
CVSS 3.1 score
5.5
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Affected versions
Linux kernel versions
2.6.33
and later are affected. Fixed in
4.19.322,
5.4.284,
5.10.226,
5.15.167,
6.1.110,
6.6.51,
6.10.10,
6.11
and their respective stable series.
References
The following references provide additional information about CVE-2024-47669 including vendor advisories, patch commits, exploit details, and third-party analysis. Links are sourced from the NIST NVD database.
-
-
PatchKernel patch commithttps://git.kernel.org/stable/c/036441e8438b29111fa75008f0ce305fb4e83c0a
-
PatchKernel patch commithttps://git.kernel.org/stable/c/0a1a961bde4351dc047ffdeb2f1311ca16a700cc
-
PatchKernel patch commithttps://git.kernel.org/stable/c/30562eff4a6dd35c4b5be9699ef61ad9f5f20a06
Frequently asked questions
-
What is CVE-2024-47669?
CVE-2024-47669 is a Medium severity Linux kernel vulnerability with a CVSS score of 5.5 out of 10 . It affects Linux kernel versions from 2.6.33 onward and has been patched in 4.19.322, 5.4.284, 5.10.226 and others. CVE-2024-47669 has not been confirmed as actively exploited and is not listed in the CISA KEV catalog.
-
What is the CVSS score for CVE-2024-47669?
CVE-2024-47669 has a CVSS score of 5.5 out of 10, rated Medium severity (CVSS 3.1). The vector string is
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H. -
Is there a patch available for CVE-2024-47669?
Yes — CVE-2024-47669 has been patched. Fixed versions include 4.19.322, 5.4.284, 5.10.226 and others. If you are running Linux kernel 2.6.33 or later up to the fix versions, apply the relevant patch for your kernel branch.
-
Is CVE-2024-47669 actively exploited?
No — CVE-2024-47669 has not been confirmed as actively exploited. It is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog.