Read the docs
TI-2024-31948 Aliases CVE-2024-47669GHSA-g9rj-gvxx-c5jc

nilfs2: fix state management in error path of log writing function

Priority LOW 31Published · Updated

Key facts

Attack vector
Local
Privileges required
Low
User interaction
None
Attack complexity
Low
Impact type
—
Confidentiality · integrity · availability
Low · High · High
Fix status
Fixed

Attack profile from CVSS 3.1 · CNA. Fix status from CNA.

Summary

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.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00215 11th percentileScored 2026-11-07
Fix Fixed Linux (Linux): 4.19.322, 5.4.284, 5.10.226 +5

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
No
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
LinuxLinux2.6.33 and later4.19.322, 5.4.284, 5.10.226, 5.15.167, 6.1.110, 6.6.51, 6.10.10, 6.11Patch availableCNA
  • Linux VendorLinux Affected 2.6.33 and later 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 Patch available CNA

CPE configurations NVD · 7

CPEVersionsRoleVendor
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*2.6.33 to before 4.19.322; 4.20 to before 5.4.284; 5.5 to before 5.10.226; 5.11 to before 5.15.167; 5.16 to before 6.1.110; 6.2 to before 6.6.51; 6.7 to before 6.10.10VulnerableLinux
cpe:2.3:o:linux:linux_kernel:6.11:rc1:*:*:*:*:*:*6.11 rc1VulnerableLinux
cpe:2.3:o:linux:linux_kernel:6.11:rc2:*:*:*:*:*:*6.11 rc2VulnerableLinux
cpe:2.3:o:linux:linux_kernel:6.11:rc3:*:*:*:*:*:*6.11 rc3VulnerableLinux
cpe:2.3:o:linux:linux_kernel:6.11:rc4:*:*:*:*:*:*6.11 rc4VulnerableLinux
cpe:2.3:o:linux:linux_kernel:6.11:rc5:*:*:*:*:*:*6.11 rc5VulnerableLinux
cpe:2.3:o:linux:linux_kernel:6.11:rc6:*:*:*:*:*:*6.11 rc6VulnerableLinux
  • cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* Versions 2.6.33 to before 4.19.322; 4.20 to before 5.4.284; 5.5 to before 5.10.226; 5.11 to before 5.15.167; 5.16 to before 6.1.110; 6.2 to before 6.6.51; 6.7 to before 6.10.10 Vulnerable ·Linux
  • cpe:2.3:o:linux:linux_kernel:6.11:rc1:*:*:*:*:*:* Versions 6.11 rc1 Vulnerable ·Linux
  • cpe:2.3:o:linux:linux_kernel:6.11:rc2:*:*:*:*:*:* Versions 6.11 rc2 Vulnerable ·Linux
  • cpe:2.3:o:linux:linux_kernel:6.11:rc3:*:*:*:*:*:* Versions 6.11 rc3 Vulnerable ·Linux
  • cpe:2.3:o:linux:linux_kernel:6.11:rc4:*:*:*:*:*:* Versions 6.11 rc4 Vulnerable ·Linux
  • cpe:2.3:o:linux:linux_kernel:6.11:rc5:*:*:*:*:*:* Versions 6.11 rc5 Vulnerable ·Linux
  • cpe:2.3:o:linux:linux_kernel:6.11:rc6:*:*:*:*:*:* Versions 6.11 rc6 Vulnerable ·Linux

Remediation

  • Fix · CNA Linux (Linux) 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

Vendor assessments

Red Hat

Red Hat rating: Moderate. Red Hat's page for this CVE →

Not affected: 4 products
  • Red Hat Enterprise Linux 6
  • Red Hat Enterprise Linux 7
  • Red Hat Enterprise Linux 8
  • Red Hat Enterprise Linux 9

Timeline

  1. 2026-10-02 Threatist record created from CVE-2024-47669
  2. 2026-10-03 Alias added: GHSA-g9rj-gvxx-c5jc

References

  • TI-2025-26358 tls: fix handling of zero-length records on the rx_list KEVCVSS 3.1CRITICAL 9.8
  • TI-2026-38352 netfilter: bridge: make ebt_snat ARP rewrite writable KEVCVSS 3.1HIGH 8.8
  • TI-2013-05264 The (1) get_user and (2) put_user API functions in the Linux kernel before 3.5.5 on the… KEVCVSS 3.1HIGH 8.8
  • TI-2022-00125 Integer overflow in kernel KEVCVSS 3.1HIGH 8.4
  • TI-2013-01864 The perf_swevent_init function in kernel/events/core.c in the Linux kernel before 3.8.9… KEVCVSS 3.1HIGH 8.4
  • TI-2021-05514 Heap Out-Of-Bounds Write in Netfilter IP6T_SO_SET_REPLACE KEVCVSS 3.1HIGH 8.3
See all 15278 →

Sources