CVE-2025-21896

Severity CVSS v4.0:
Pending analysis
Type:
CWE-416 Use After Free
Publication date:
01/04/2025
Last modified:
31/10/2025

Description

In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> fuse: revert back to __readahead_folio() for readahead<br /> <br /> In commit 3eab9d7bc2f4 ("fuse: convert readahead to use folios"), the<br /> logic was converted to using the new folio readahead code, which drops<br /> the reference on the folio once it is locked, using an inferred<br /> reference on the folio. Previously we held a reference on the folio for<br /> the entire duration of the readpages call.<br /> <br /> This is fine, however for the case for splice pipe responses where we<br /> will remove the old folio and splice in the new folio (see<br /> fuse_try_move_page()), we assume that there is a reference held on the<br /> folio for ap-&gt;folios, which is no longer the case.<br /> <br /> To fix this, revert back to __readahead_folio() which allows us to hold<br /> the reference on the folio for the duration of readpages until either we<br /> drop the reference ourselves in fuse_readpages_end() or the reference is<br /> dropped after it&amp;#39;s replaced in the page cache in the splice case.<br /> This will fix the UAF bug that was reported.

Vulnerable products and versions

CPE From Up to
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.13 (including) 6.13.6 (excluding)
cpe:2.3:o:linux:linux_kernel:6.14:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.14:rc2:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.14:rc3:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.14:rc4:*:*:*:*:*:*