CVE-2026-31466

Aliases:UBUNTU-CVE-2026-31466DEBIAN-CVE-2026-31466
Modified
Published: 22 Apr 2026, 13:53
Last modified:08 Sept 2026, 08:47

Vulnerability Summary

Overall Risk (default)
low
19/100
CVSS Score
4.7 MEDIUM
v3.1 (nvd)
EPSS Score
0.09% LOW
0% probability 0.00%
KEV
Not listed
Ransomware
No reports
Public exploits
None found
Dark Web
Not detected

Timeline

22 Apr 2026, 13:53
Published
Vulnerability first disclosed
08 Sept 2026, 08:47
Last Modified
Vulnerability information updated

Description

In the Linux kernel, the following vulnerability has been resolved: mm/huge_memory: fix folio isn't locked in softleaf_to_folio() On arm64 server, we found folio that get from migration entry isn't locked in softleaf_to_folio(). This issue triggers when mTHP splitting and zap_nonpresent_ptes() races, and the root cause is lack of memory barrier in softleaf_to_folio(). The race is as follows: CPU0 CPU1 deferred_split_scan() zap_nonpresent_ptes() lock folio split_folio() unmap_folio() change ptes to migration entries __split_folio_to_order() softleaf_to_folio() set flags(including PG_locked) for tail pages folio = pfn_folio(softleaf_to_pfn(entry)) smp_wmb() VM_WARN_ON_ONCE(!folio_test_locked(folio)) prep_compound_page() for tail pages In __split_folio_to_order(), smp_wmb() guarantees page flags of tail pages are visible before the tail page becomes non-compound. smp_wmb() should be paired with smp_rmb() in softleaf_to_folio(), which is missed. As a result, if zap_nonpresent_ptes() accesses migration entry that stores tail pfn, softleaf_to_folio() may see the updated compound_head of tail page before page->flags. This issue will trigger VM_WARN_ON_ONCE() in pfn_swap_entry_folio() because of the race between folio split and zap_nonpresent_ptes() leading to a folio incorrectly undergoing modification without a folio lock being held. This is a BUG_ON() before commit 93976a20345b ("mm: eliminate further swapops predicates"), which in merged in v6.19-rc1. To fix it, add missing smp_rmb() if the softleaf entry is migration entry in softleaf_to_folio() and softleaf_to_page(). [tujinjiang@huawei.com: update function name and comments]

CVSS Metrics

  • v3.1MEDIUMScore: 4.7CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H

EPSS Trends

Current EPSS score: 0.09% Percentile: 1%

Techniques & Countermeasures

  • CWE-362Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')

    The product contains a concurrent code sequence that requires temporary, exclusive access to a shared resource, but a timing window exists in which the shared resource can be modified by another code sequence operating concurrently.

Affected Systems

  • debianlinux

    < 5.10.257-1 | < 6.1.170-1 | < 6.12.85-1 | < 6.19.11-1

  • debianlinux-6.1

    < 6.1.170-1~deb11u1

  • ubuntulinux

    all | < 5.15.0-186.196 | < 6.8.0-136.136 | all

  • ubuntulinux-allwinner-5.19

    all

  • ubuntulinux-aws

    all | < 5.15.0-1112.119 | < 6.8.0-1061.64 | all

  • ubuntulinux-aws-5.0

    all

  • ubuntulinux-aws-5.11

    all

  • ubuntulinux-aws-5.13

    all

  • ubuntulinux-aws-5.15

    < 5.15.0-1112.119~20.04.1

  • ubuntulinux-aws-5.19

    all

  • ubuntulinux-aws-5.3

    all

  • ubuntulinux-aws-5.4

    all

  • ubuntulinux-aws-5.8

    all

  • ubuntulinux-aws-6.14

    all

  • ubuntulinux-aws-6.17

    all

  • ubuntulinux-aws-6.2

    all

  • ubuntulinux-aws-6.5

    all

  • ubuntulinux-aws-6.8

    < 6.8.0-1061.64~22.04.1

  • ubuntulinux-aws-fips

    all | < 5.15.0-1112.119+fips1 | < 6.8.0-1061.64+fips1

  • ubuntulinux-aws-hwe

    all

  • ubuntulinux-azure

    all | all | < 5.15.0-1117.126 | < 6.8.0-1063.71 | all

  • ubuntulinux-azure-4.15

    all

  • ubuntulinux-azure-5.11

    all

  • ubuntulinux-azure-5.13

    all

  • ubuntulinux-azure-5.15

    < 5.15.0-1117.126~20.04.1

  • ubuntulinux-azure-5.19

    all

  • ubuntulinux-azure-5.3

    all

  • ubuntulinux-azure-5.4

    all

  • ubuntulinux-azure-5.8

    all

  • ubuntulinux-azure-6.11

    all

  • ubuntulinux-azure-6.14

    all

  • ubuntulinux-azure-6.17

    all

  • ubuntulinux-azure-6.2

    all

  • ubuntulinux-azure-6.5

    all

  • ubuntulinux-azure-6.8

    < 6.8.0-1063.71~22.04.1

  • ubuntulinux-azure-edge

    all

  • ubuntulinux-azure-fde

    all | < 5.15.0-1117.126 | < 6.8.0-1062.69 | all

  • ubuntulinux-azure-fde-5.15

    < 5.15.0-1117.126~20.04.2

  • ubuntulinux-azure-fde-5.19

    all

  • ubuntulinux-azure-fde-6.14

    all

  • ubuntulinux-azure-fde-6.2

    all

  • ubuntulinux-azure-fde-6.8

    < 6.8.0-1062.69~22.04.1

  • ubuntulinux-azure-fips

    all | < 5.15.0-1117.126+fips1 | < 6.8.0-1063.71+fips2

  • ubuntulinux-azure-nvidia

    all

  • ubuntulinux-azure-nvidia-6.14

    all

  • ubuntulinux-bluefield

    all | all | < 5.15.0-1096.98 | < 6.8.0-1028.33

  • ubuntulinux-fips

    all | < 5.15.0-186.196+fips1 | < 6.8.0-136.136+fips2

  • ubuntulinux-gcp

    all | all | < 5.15.0-1112.122 | < 6.8.0-1064.72 | all

  • ubuntulinux-gcp-4.15

    all

  • ubuntulinux-gcp-5.11

    all

Showing first 50 affected entries in server-rendered view.

References (40)