CVE-2025-39899 in Linux
要約
〜によって VulDB • 2026年05月28日
Linuxカーネルにおいて、以下の脆弱性が修正されました。
mm/userfaultfd: CONFIG_HIGHPTE設定におけるkmap_localのLIFO順序の修正
32ビットARMにおいてCONFIG_HIGHPTEが有効な場合、move_pages_pte()関数はkmap_local_page()を使用してPTEページをマップしますが、この関数はLast-In-First-Out(LIFO)の順序でアンマップする必要があります。
現在のコードでは、まずdst_pteがマップされ、次にsrc_pteがマップされますが、アンマップも同じ順序(dst_pte、src_pte)で行われており、LIFOの要件に違反しています。これにより、kunmap_local_indexed()内で以下の警告が発生します。
WARNING: CPU: 0 PID: 604 at mm/highmem.c:622 kunmap_local_indexed+0x178/0x17c addr \!= __fix_to_virt(FIX_KMAP_BEGIN + idx)
LIFOの順序を尊重するために、アンマップの順序を逆転させることでこの問題を修正します。
この問題は、以下の類似した修正と同じパターンに従っています。 - コミット eca6828403b8 ("crypto: skcipher - fix mismatch between mapping and unmapping order") - コミット 8cf57c6df818 ("nilfs2: eliminate staggered calls to kunmap in nilfs_rename")
これらはいずれも、kmap_local操作はLIFOの順序に従わなければならないという基本的な要件に対応したものです。
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.