7.3

CVE-2024-47669: nilfs2: fix state management in error path of log writing function

Modified
AliasesUBUNTU-CVE-2024-47669DEBIAN-CVE-2024-47669
Published 09-10-2024Last modified 05-08-2026

Vulnerability summary

CVE-2024-47669 is a high (CVSS 7.3) vulnerability in linux. EPSS estimates a 0.21% chance of exploitation in the next 30 days, higher than 11.9% of scored vulnerabilities.

Priority
Routine

Not severe (CVSS 7.3, local access); no exploitation reported by the 5 checked sources

Source freshness unavailable

How is this decided?
CVSS score
7.3/10
010
High · v3.1 (CVE.org)
EPSS score
0.21%
0%100%
Low · 0.00 pp in 30 days
KEVNot listedNot listed by any tracked catalog.
RansomwareNot flaggedNo ransomware use recorded.
Public exploits0No public exploits recorded

Advisory lineage

Upstream 0 · Downstream 28 · Related 27

Timeline

  1. 09-10-2024
    PublishedVulnerability first disclosed.
  2. 05-08-2026
    Last modifiedVulnerability information updated.

Description

In 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 metrics

5 scores · 4 sources · 2 versions

EPSS trend

Probability

0.21%

Chance of exploitation in the next 30 days

Percentile

12%

Versus all other CVEs

30-day change

No change 0.00 pp

From 0.21% on 04-10-2026

04-10-202603-11-2026

Known exploited

Compare KEV catalogs
CISA KEV

Not in the CISA KEV catalog.

ENISA CNW

Not in the ENISA CNW catalog.

CIRCL

Not in the CIRCL catalog.

Public exploits

0 found

No public exploits indexed.

Weaknesses

CWE · root cause

No weakness data has been published for this record.

Affected systems

Version check

Known conditions: local access, low-privilege account, no user interaction (CVSS vector). Other conditions: not stated in public data.

Ubuntu129 products
  • linuxAll versions (No fix recorded) | < 5.4.0-200.220 | < 5.15.0-125.135 | < 6.8.0-50.51
  • linux-allwinner-5.19All versions (No fix recorded)
  • linux-awsAll versions (No fix recorded) | < 5.4.0-1135.145 | < 5.15.0-1072.78 | < 6.8.0-1020.22
  • linux-aws-5.0All versions (No fix recorded)
  • linux-aws-5.11All versions (No fix recorded)
Linux2 products
  • linux≥ a694291a6211537189c6080f77f63cdabfc9b63e, < 40a2757de2c376ef8a08d9ee9c81e77f3c750adf | ≥ a694291a6211537189c6080f77f63cdabfc9b63e, < 036441e8438b29111fa75008f0ce305fb4e83c0a | ≥ a694291a6211537189c6080f77f63cdabfc9b63e, < efdde00d4a1ef10bb71e09ebc67823a3d3ad725b | ≥ a694291a6211537189c6080f77f63cdabfc9b63e, < 3e349d7191f0688fc9808ef24fd4e4b4ef5ca876 | ≥ a694291a6211537189c6080f77f63cdabfc9b63e, < 30562eff4a6dd35c4b5be9699ef61ad9f5f20a06 | ≥ a694291a6211537189c6080f77f63cdabfc9b63e, < 0a1a961bde4351dc047ffdeb2f1311ca16a700cc | ≥ a694291a6211537189c6080f77f63cdabfc9b63e, < 74866c16ea2183f52925fa5d76061a1fe7f7737b | ≥ a694291a6211537189c6080f77f63cdabfc9b63e, < 6576dd6695f2afca3f4954029ac4a64f82ba60ab | 2.6.33
  • linux_kernel≥ 2.6.33, < 4.19.322 | ≥ 4.20, < 5.4.284 | ≥ 5.5, < 5.10.226 | ≥ 5.11, < 5.15.167 | ≥ 5.16, < 6.1.110 | ≥ 6.2, < 6.6.51 | ≥ 6.7, < 6.10.10 | 6.11:rc1 | 6.11:rc2 | 6.11:rc3 | 6.11:rc4 | 6.11:rc5 | 6.11:rc6
Debian1 product
  • linux< 6.1.112-1 | < 6.10.11-1

3 vendors · 132 products

References

28 links
Show all 28 references