CVE-2025-39899
Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
01/10/2025
Last modified:
14/01/2026
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
mm/userfaultfd: fix kmap_local LIFO ordering for CONFIG_HIGHPTE<br />
<br />
With CONFIG_HIGHPTE on 32-bit ARM, move_pages_pte() maps PTE pages using<br />
kmap_local_page(), which requires unmapping in Last-In-First-Out order.<br />
<br />
The current code maps dst_pte first, then src_pte, but unmaps them in the<br />
same order (dst_pte, src_pte), violating the LIFO requirement. This<br />
causes the warning in kunmap_local_indexed():<br />
<br />
WARNING: CPU: 0 PID: 604 at mm/highmem.c:622 kunmap_local_indexed+0x178/0x17c<br />
addr \!= __fix_to_virt(FIX_KMAP_BEGIN + idx)<br />
<br />
Fix this by reversing the unmap order to respect LIFO ordering.<br />
<br />
This issue follows the same pattern as similar fixes:<br />
- commit eca6828403b8 ("crypto: skcipher - fix mismatch between mapping and unmapping order")<br />
- commit 8cf57c6df818 ("nilfs2: eliminate staggered calls to kunmap in nilfs_rename")<br />
<br />
Both of which addressed the same fundamental requirement that kmap_local<br />
operations must follow LIFO ordering.
Impact
Base Score 3.x
5.50
Severity 3.x
MEDIUM
Vulnerable products and versions
| CPE | From | Up to |
|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.8 (including) | 6.12.46 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.13 (including) | 6.16.6 (excluding) |
| cpe:2.3:o:linux:linux_kernel:6.17:rc1:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.17:rc2:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.17:rc3:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.17:rc4:*:*:*:*:*:* |
To consult the complete list of CPE names with products and versions, see this page



