İçeriğe atla
Noroxi
CVE-2025-40230· NVD / CVE Programı· CNA Linux

mm: prevent poison consumption when splitting THP

In the Linux kernel, the following vulnerability has been resolved: mm: prevent poison consumption when splitting THP When performing memory error injection on a THP (Transparent Huge Page) mapped to userspace on an x86 server, the kernel panics with the following trace. The expected behavior is to terminate the affected process instead of panicking the kernel, as the x86 Machine Check code can recover from an in-userspace #MC. mce: [Hardware Error]: CPU 0: Machine Check Exception: f Bank 3: bd80000000070134 mce: [Hardware Error]: RIP 10:<ffffffff8372f8bc> {memchr_inv+0x4c/0xf0} mce: [Hardware Error]: TSC afff7bbff88a ADDR 1d301b000 MISC 80 PPIN 1e741e77539027db mce: [Hardware Error]: PROCESSOR 0:d06d0 TIME 1758093249 SOCKET 0 APIC 0 microcode 80000320 mce: [Hardware Error]: Run the above through 'mcelog --ascii' mce: [Hardware Error]: Machine check: Data load in unrecoverable area of kernel Kernel panic - not syncing: Fatal local machine check The root cause of this panic is that handling a memory failure triggered by an in-userspace #MC necessitates splitting the THP. The splitting process employs a mechanism, implemented in try_to_map_unused_to_zeropage(), which reads the pages in the THP to identify zero-filled pages. However, reading the pages in the THP results in a second in-kernel #MC, occurring before the initial memory_failure() completes, ultimately leading to a kernel panic. See the kernel panic call trace on the two #MCs. First Machine Check occurs // [1] memory_failure() // [2] try_to_split_thp_page() split_huge_page() split_huge_page_to_list_to_order() __folio_split() // [3] remap_page() remove_migration_ptes() remove_migration_pte() try_to_map_unused_to_zeropage() // [4] memchr_inv() // [5] Second Machine Check occurs // [6] Kernel panic [1] Triggered by accessing a hardware-poisoned THP in userspace, which is typically recoverable by terminating the affected process. [2] Call folio_set_has_hwpoisoned() before try_to_split_thp_page(). [3] Pass the RMP_USE_SHARED_ZEROPAGE remap flag to remap_page(). [4] Try to map the unused THP to zeropage. [5] Re-access pages in the hw-poisoned THP in the kernel. [6] Triggered in-kernel, leading to a panic kernel. In Step[2], memory_failure() sets the poisoned flag on the page in the THP by TestSetPageHWPoison() before calling try_to_split_thp_page(). As suggested by David Hildenbrand, fix this panic by not accessing to the poisoned page in the THP during zeropage identification, while continuing to scan unaffected pages in the THP for possible zeropage mapping. This prevents a second in-kernel #MC that would cause kernel panic in Step[4]. Thanks to Andrew Zaborowski for his initial work on fixing this issue.

—İstismar yok Düzeltme var
Yayın
4 Ara 2025
Güncelleme
17 Haz 2026
EPSS
%0,2 · 11. yüzdelik
CWE
—
Bu CVE’yi takip et

Takip etmek için giriş yap · Takip ettiğin kayıt KEV’e girer, istismarı çıkar ya da güncellenirse bildirim alırsın.

Rapor araçları

JSON

Aksiyon skoru

0

İzleyin

Şimdilik düşük öncelik.

CVSS
0 / 40 · —
CISA KEV
0 / 30 · Listede değil
EPSS
0 / 30 · %0,2

Noroxi analizi

Bu kayıt için henüz Noroxi analizi yok

Veritabanındaki yüz binlerce zafiyetin tamamına elle analiz yazmıyoruz; bu dürüst olmazdı. Öne çıkan ve sahada etkisi olan zafiyetler için mekanizma, tespit ve kapatma adımlarını ekibimiz yazıyor.

Bu ürünü kullanıyoruz, yardım isteyin

Etkilenen sistemler

—

Üreticinin bildirdiği sürümler

Kaydı açan otorite (Linux) tarafından bildirilen etkilenen sürüm aralıkları. NVD'nin CPE analizinden bağımsızdır ve genellikle ondan önce gelir.

  • Linux Linux

    • 6.12etkilenir
    • b1f202060afeb7fcb98473929d26fd3d2093b067 ve sonrası · 6fc0a7c99e973a50018c8b4be34914a1b5c7b383 öncesietkilenir · git
    • b1f202060afeb7fcb98473929d26fd3d2093b067 ve sonrası · 92acf4b04f255d2f0f6770bb0d0a208d8ffb2b77 öncesietkilenir · git
    • b1f202060afeb7fcb98473929d26fd3d2093b067 ve sonrası · 841a8bfcbad94bb1ba60f59ce34f75259074ae0d öncesietkilenir · git
    • 6.12 öncesietkilenmez · semver
    • 6.12.56 ve sonrası · 6.12.* dahil öncesietkilenmez · semver
    • 6.17.6 ve sonrası · 6.17.* dahil öncesietkilenmez · semver
    • 6.18 ve sonrasıetkilenmez · original_commit_for_fix

Paket düzeyi etkilenme

OSV ve GitHub Advisory verisi: ekosistem, paket ve aralık. SBOM eşleşmesi bu tabloyu kullanır.

EkosistemPaketEtkilenen aralıkDüzeltme
Debian:13linux6.12.57-1 öncesi6.12.57-1
Debian:14linux6.17.6-1 öncesi6.17.6-1
openSUSE:Leap 16.0dtb-aarch646.12.0-160000.27.1 öncesi6.12.0-160000.27.1
openSUSE:Leap 16.0kernel-64kb6.12.0-160000.27.1 öncesi6.12.0-160000.27.1
openSUSE:Leap 16.0kernel-azure6.12.0-160000.27.1 öncesi6.12.0-160000.27.1
openSUSE:Leap 16.0kernel-default6.12.0-160000.27.1 öncesi6.12.0-160000.27.1
openSUSE:Leap 16.0kernel-default-base6.12.0-160000.27.1.160000.2.8 öncesi6.12.0-160000.27.1.160000.2.8
openSUSE:Leap 16.0kernel-docs6.12.0-160000.27.1 öncesi6.12.0-160000.27.1
openSUSE:Leap 16.0kernel-kvmsmall6.12.0-160000.27.1 öncesi6.12.0-160000.27.1
openSUSE:Leap 16.0kernel-obs-build6.12.0-160000.27.1 öncesi6.12.0-160000.27.1
openSUSE:Leap 16.0kernel-obs-qa6.12.0-160000.27.1 öncesi6.12.0-160000.27.1
openSUSE:Leap 16.0kernel-rt6.12.0-160000.27.1 öncesi6.12.0-160000.27.1
openSUSE:Leap 16.0kernel-source6.12.0-160000.27.1 öncesi6.12.0-160000.27.1
openSUSE:Leap 16.0kernel-syms6.12.0-160000.27.1 öncesi6.12.0-160000.27.1
openSUSE:Leap 16.0kernel-zfcpdump6.12.0-160000.27.1 öncesi6.12.0-160000.27.1
SUSE:Linux Enterprise Server 16.0kernel-azure6.12.0-160000.27.1 öncesi6.12.0-160000.27.1
SUSE:Linux Enterprise Server 16.0kernel-docs6.12.0-160000.27.1 öncesi6.12.0-160000.27.1
SUSE:Linux Enterprise Server 16.0kernel-kvmsmall6.12.0-160000.27.1 öncesi6.12.0-160000.27.1
SUSE:Linux Enterprise Server 16.0kernel-obs-qa6.12.0-160000.27.1 öncesi6.12.0-160000.27.1
SUSE:Linux Enterprise Server 16.0kernel-zfcpdump6.12.0-160000.27.1 öncesi6.12.0-160000.27.1
SUSE:Linux Micro 6.2kernel-64kb6.12.0-160000.27.1 öncesi6.12.0-160000.27.1
SUSE:Linux Micro 6.2kernel-default6.12.0-160000.27.1 öncesi6.12.0-160000.27.1
SUSE:Linux Micro 6.2kernel-default-base6.12.0-160000.27.1.160000.2.8 öncesi6.12.0-160000.27.1.160000.2.8
SUSE:Linux Micro 6.2kernel-rt6.12.0-160000.27.1 öncesi6.12.0-160000.27.1

+3

Aynı birincil ürünün en yüksek skorlu diğer kayıtları.

  • CVE-2026-74705udp: fix potential use-after-free in tunnel segmentation
    40Planlayın
  • CVE-2026-74612veth: fix skb length accounting after XDP frag adjustment
    40Planlayın
  • CVE-2026-74475vxlan: use neigh_ha_snapshot() in route_shortcircuit()
    40Planlayın
  • CVE-2026-74309vdpa/octeon_ep: fix IRQ-to-ring mapping in interrupt handler
    40Planlayın
  • CVE-2026-74280crypto: marvell/octeontx - fix DMA cleanup using wrong loop index
    40Planlayın
  • CVE-2026-74279crypto: cavium/cpt - fix DMA cleanup using wrong loop index
    40Planlayın

Düzeltme

Hangi sürüme geçmeli

Üretici, paket deposu ve Microsoft kayıtlarından derlenen düzeltme sürümleri. Yükseltmeden önce üreticinin notunu doğrulayın.

Ürün / paketDüzeltilmiş sürümKaynak
Linux Linux6fc0a7c99e973a50018c8b4be34914a1b5c7b383Üretici (CNA)
Linux Linux841a8bfcbad94bb1ba60f59ce34f75259074ae0dÜretici (CNA)
Linux Linux92acf4b04f255d2f0f6770bb0d0a208d8ffb2b77Üretici (CNA)
debian:linux6.12.57-1 · Debian:13Paket deposu (OSV)
opensuse:dtb-aarch646.12.0-160000.27.1 · openSUSE:Leap 16.0Paket deposu (OSV)
opensuse:kernel-64kb6.12.0-160000.27.1 · openSUSE:Leap 16.0Paket deposu (OSV)
opensuse:kernel-azure6.12.0-160000.27.1 · openSUSE:Leap 16.0Paket deposu (OSV)
opensuse:kernel-default6.12.0-160000.27.1 · openSUSE:Leap 16.0Paket deposu (OSV)
opensuse:kernel-default-base6.12.0-160000.27.1.160000.2.8 · openSUSE:Leap 16.0Paket deposu (OSV)
opensuse:kernel-docs6.12.0-160000.27.1 · openSUSE:Leap 16.0Paket deposu (OSV)
opensuse:kernel-kvmsmall6.12.0-160000.27.1 · openSUSE:Leap 16.0Paket deposu (OSV)
opensuse:kernel-obs-build6.12.0-160000.27.1 · openSUSE:Leap 16.0Paket deposu (OSV)
opensuse:kernel-obs-qa6.12.0-160000.27.1 · openSUSE:Leap 16.0Paket deposu (OSV)
opensuse:kernel-rt6.12.0-160000.27.1 · openSUSE:Leap 16.0Paket deposu (OSV)
opensuse:kernel-source6.12.0-160000.27.1 · openSUSE:Leap 16.0Paket deposu (OSV)
opensuse:kernel-syms6.12.0-160000.27.1 · openSUSE:Leap 16.0Paket deposu (OSV)
suse:kernel-64kb6.12.0-160000.27.1 · SUSE:Linux Micro 6.2Paket deposu (OSV)
suse:kernel-azure6.12.0-160000.27.1 · SUSE:Linux Enterprise Server 16.0Paket deposu (OSV)
suse:kernel-default6.12.0-160000.27.1 · SUSE:Linux Micro 6.2Paket deposu (OSV)
suse:kernel-default-base6.12.0-160000.27.1.160000.2.8 · SUSE:Linux Micro 6.2Paket deposu (OSV)
suse:kernel-docs6.12.0-160000.27.1 · SUSE:Linux Enterprise Server 16.0Paket deposu (OSV)
suse:kernel-kvmsmall6.12.0-160000.27.1 · SUSE:Linux Enterprise Server 16.0Paket deposu (OSV)
suse:kernel-obs-build6.12.0-160000.27.1 · SUSE:Linux Micro Extras 6.2Paket deposu (OSV)
suse:kernel-obs-qa6.12.0-160000.27.1 · SUSE:Linux Enterprise Server 16.0Paket deposu (OSV)
suse:kernel-rt6.12.0-160000.27.1 · SUSE:Linux Micro 6.2Paket deposu (OSV)
suse:kernel-source6.12.0-160000.27.1 · SUSE:Linux Micro 6.2Paket deposu (OSV)
suse:kernel-syms6.12.0-160000.27.1 · SUSE:Linux Micro Extras 6.2Paket deposu (OSV)
suse:kernel-zfcpdump6.12.0-160000.27.1 · SUSE:Linux Enterprise Server 16.0Paket deposu (OSV)

İstismar durumu

Bilinen kamuya açık istismar yok

Şu an kamuya açık bir istismar görülmedi. Bu, güvende olduğunuz anlamına gelmez; yalnızca eşiğin biraz daha yüksek olduğunu gösterir.

Araştırma bağlamı

Pentester ve araştırmacı için: saldırı profili, puan anlaşmazlığı, zaman çizelgesi, yama commit’leri, kredi, varyant ve zincir adayları, bug bounty kapsamı. Hepsi mevcut veriden türetilir; istismar kodu içermez.

Zaman çizelgesi

Yayından bugüne: kavram kanıtı, Metasploit modülü, CISA KEV ve düzeltme kaydı. Tarihler kaynakların bildirdiği tarihlerdir.

Yayın dışında tarihli olay yok.

EPSS son 120 gün

FIRST EPSS günlük puanı; yalnızca 0,01 ve üstü değişimler kaydedilir (adım grafiği).

Yama ve commit bağlantıları

Referanslardaki commit, PR ve diff adresleri. Patch-diff ve varyant avı için başlangıç noktası; istismar değil, düzeltmedir.

Referanslarda commit ya da PR bağlantısı yok.

CNA kaydında adı geçen bulan, bildiren ve analistler. Ada tıkla, aynı araştırmacının diğer kayıtlarını gör.

CNA kaydında kredi yok.

Varyant adayları

Aynı üründe aynı zafiyet sınıfı, 18 ay içinde. Yama kök nedeni kapatmadıysa kardeş hata burada olur.

Gece hesaplanan ilişki yok.

Zincir adayları

Aynı üründe kimlik doğrulama atlatma ile yetki isteyen bir açık kısa aralıkla yayımlanmış: birlikte kimlik doğrulamasız bir yola dönüşebilir.

—

Bug bounty kapsamı

Bilinen herkese açık program yok.

Kaynak: bounty-targets-data (HackerOne, Bugcrowd, Intigriti, YesWeHack herkese açık listeleri).

Teknik detay

Bu kayıt için CVSS vektörü yok; saldırı koşulları çıkarılamıyor.

Zayıflık sınıfı (CWE)

—

Saldırı bağlamı

Bu zafiyet sınıfının (CWE) MITRE CAPEC saldırı desenleri ve ATT&CK teknikleri. Tespit kuralı ve tehdit avı için başlangıç noktası.

Bu CWE için MITRE'de CAPEC/ATT&CK eşlemesi yok.

Değişiklik günlüğü

  1. Düzeltme✗ → ✓

Takip ettiğiniz kayıtlarda bu değişiklikler bildirim olarak da gelir. →

Referanslar

Tüm kayıtlar