CVE-2025-71309 fs/ntfs3: fix deadlock in ni_read_folio_cmpr
A lock inversion deadlock in the Linux kernel NTFS3 driver allows local attackers to cause a system hang via concurrent file read operations.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Local or same network only
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2025-71309?
CVE-2025-71309 is a medium-severity vulnerability in Linux kernel, published on 27 May 2026. It can only be exploited from the same machine or local network, with no action from the victim.
Official description
In the Linux kernel, the following vulnerability has been resolved:
fs/ntfs3: fix deadlock in ni_read_folio_cmpr
Syzbot reported a task hung in ni_readpage_cmpr (now ni_read_folio_cmpr). This is caused by a lock inversion deadlock involving the inode mutex (ni_lock) and page locks.
Scenario: 1. Task A enters ntfs_read_folio() for page X. It acquires ni_lock. 2. Task A calls ni_read_folio_cmpr(), which attempts to lock all pages in the compressed frame (including page Y). 3. Concurrently, Task B (e.g., via readahead) has locked page Y and calls ntfs_read_folio(). 4. Task B waits for ni_lock (held by A). 5. Task A waits for page Y lock (held by B). -> DEADLOCK.
The fix is to restructure locking: do not take ni_lock in ntfs_read_folio(). Instead, acquire ni_lock inside ni_read_folio_cmpr() ONLY AFTER all required page locks for the frame have been successfully acquired. This restores the correct lock ordering (Page Lock -> ni_lock) consistent with VFS.
[[email protected]: ni_readpage_cmpr was renamed to ni_read_folio_cmpr]
Weakness: CWE-667
Which versions are affected by CVE-2025-71309?
It affects 1 product.
Products include Linux kernel.
How do I fix CVE-2025-71309?
Apply the vendor's patch.
Is CVE-2025-71309 being exploited?
There is no known exploitation of CVE-2025-71309 in the wild and no public exploit code.
Other vulnerabilities in Linux kernel
Sources
Also known as GHSA-fq5h-cm7q-5gg6, UBUNTU-CVE-2025-71309.