mm/hugetlb: fix swap entry corruption when clearing uffd-wp at fork()
In the Linux kernel, the following vulnerability has been resolved: mm/hugetlb: fix swap entry corruption when clearing uffd-wp at fork() copy_hugetlb_page_range() clears the uffd-wp bit of migration and hwpoison entries with huge_pte_clear_uffd_wp(), which operates on the present-PTE bit position. Swap entries keep the uffd-wp state elsewhere -- the migration branch reads and sets it with pte_swp_uffd_wp() and pte_swp_mkuffd_wp() -- and the present-PTE position falls into the swap payload. On x86-64 it lands in the inverted swap offset, where a naturally-aligned hugetlb PFN always has the affected bit set, so the clear advances the encoded PFN by two pages. No userfaultfd needs to be involved: the clear is guarded only by the child VMA not being uffd-wp registered, so a plain fork() with an in-flight hugetlb migration entry (or a poisoned hugetlb page) corrupts the entry copied into the child. Instrumenting the clear and forking after MADV_HWPOISON on a 2MB anon hugetlb page shows: offset before=120e00 offset after =120e02 The fallout is mostly latent: rmap walks match migration entries by folio range and remove_migration_pte() rebuilds the PTE from the folio, so a within-folio PFN skew heals once migration completes. But any path that re-encodes the corrupted offset -- e.g. hugetlb_change_protection() rewriting a writable migration entry via make_readable_migration_entry(swp_offset(entry)) -- propagates it. Migration entries legitimately carry uffd-wp, so clear it with pte_swp_clear_uffd_wp(), matching copy_nonpresent_pte() and move_huge_pte(). A hwpoison entry, on the other hand, never carries the uffd-wp bit: it is installed fresh by make_hwpoison_entry() (try_to_unmap_one() does not preserve uffd-wp on the hwpoison path) and hugetlb_change_protection() leaves hwpoison entries untouched. There was nothing to clear there, only the corruption, so drop the clear entirely.
- Yayın
- 4 Eyl 2026
- Güncelleme
- 4 Eyl 2026
- EPSS
- %0,2 · 11. yüzdelik
- CWE
- —
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ı
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 isteyinEtkilenen 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
- 5.19etkilenir
- bc70fbf269fdff410b0b6d75c3770b9f59117b90 ve sonrası · f1b1311c0352873137768bac5a126e491271a747 öncesietkilenir · git
- bc70fbf269fdff410b0b6d75c3770b9f59117b90 ve sonrası · 69cb5825d9988c7944bc9f1dc08cb233655405a7 öncesietkilenir · git
- bc70fbf269fdff410b0b6d75c3770b9f59117b90 ve sonrası · 8b0de7005b148738d79d6c45594d566489948a68 öncesietkilenir · git
- bc70fbf269fdff410b0b6d75c3770b9f59117b90 ve sonrası · 2b9a07002c2f296aa6a9c591213933d3492e3089 öncesietkilenir · git
- bc70fbf269fdff410b0b6d75c3770b9f59117b90 ve sonrası · 2fa11c60c9c06bafc19cf4d9efdaa36a38079e87 öncesietkilenir · git
- bc70fbf269fdff410b0b6d75c3770b9f59117b90 ve sonrası · 83abe2fd5b3aeb3123b5408a5a91709c5538fb23 öncesietkilenir · git
- 5.19 öncesietkilenmez · semver
- 6.1.183 ve sonrası · 6.1.* dahil öncesietkilenmez · semver
- 6.6.151 ve sonrası · 6.6.* dahil öncesietkilenmez · semver
Paket düzeyi etkilenme
OSV ve GitHub Advisory verisi: ekosistem, paket ve aralık. SBOM eşleşmesi bu tabloyu kullanır.
| Ekosistem | Paket | Etkilenen aralık | Düzeltme |
|---|---|---|---|
| Debian:12 | linux | 6.1.187-1 öncesi | 6.1.187-1 |
| Debian:12 | linux-6.12 | 6.12.107-1~deb12u1 öncesi | 6.12.107-1~deb12u1 |
| Debian:13 | linux | 6.12.105-1 öncesi | 6.12.105-1 |
| Debian:14 | linux | 7.1.8-1 öncesi | 7.1.8-1 |
Aynı üründe
linux: tüm kayıtlarAynı birincil ürünün en yüksek skorlu diğer kayıtları.
- CVE-2026-74705udp: fix potential use-after-free in tunnel segmentation40Planlayın
- CVE-2026-74612veth: fix skb length accounting after XDP frag adjustment40Planlayı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 handler40Planlayın
- CVE-2026-74280crypto: marvell/octeontx - fix DMA cleanup using wrong loop index40Planlayın
- CVE-2026-74279crypto: cavium/cpt - fix DMA cleanup using wrong loop index40Planlayı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 / paket | Düzeltilmiş sürüm | Kaynak |
|---|---|---|
| Linux Linux | 2b9a07002c2f296aa6a9c591213933d3492e3089 | Üretici (CNA) |
| Linux Linux | 2fa11c60c9c06bafc19cf4d9efdaa36a38079e87 | Üretici (CNA) |
| Linux Linux | 69cb5825d9988c7944bc9f1dc08cb233655405a7 | Üretici (CNA) |
| Linux Linux | 83abe2fd5b3aeb3123b5408a5a91709c5538fb23 | Üretici (CNA) |
| Linux Linux | 8b0de7005b148738d79d6c45594d566489948a68 | Üretici (CNA) |
| Linux Linux | f1b1311c0352873137768bac5a126e491271a747 | Üretici (CNA) |
| azl3 kernel 6.6.150.1-1 on Azure Linux 3.0 | 6.6.152.1-1 · Release Notes | Microsoft (MSRC) |
| debian:linux | 6.1.187-1 · Debian:12 | Paket deposu (OSV) |
| debian:linux-6.12 | 6.12.107-1~deb12u1 · Debian:12 | Paket 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.
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.
Kredi
Tüm araştırmacılarCNA 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üğü
- Düzeltme✗ → ✓
Takip ettiğiniz kayıtlarda bu değişiklikler bildirim olarak da gelir. →
Referanslar
- git.kernel.org/stable/c/2b9a07002c2f296aa6a9c591213933d3492e3089
- git.kernel.org/stable/c/2fa11c60c9c06bafc19cf4d9efdaa36a38079e87
- git.kernel.org/stable/c/69cb5825d9988c7944bc9f1dc08cb233655405a7
- git.kernel.org/stable/c/83abe2fd5b3aeb3123b5408a5a91709c5538fb23
- git.kernel.org/stable/c/8b0de7005b148738d79d6c45594d566489948a68
- git.kernel.org/stable/c/f1b1311c0352873137768bac5a126e491271a747
Üretici bildirimleri ve resmî kayıtlar. İstismar/PoC bağlantıları bilinçli olarak dışarıda bırakıldı.