mm/ksm: fix flag-dropping behavior in ksm_madvise
In the Linux kernel, the following vulnerability has been resolved: mm/ksm: fix flag-dropping behavior in ksm_madvise syzkaller discovered the following crash: (kernel BUG) [ 44.607039] ------------[ cut here ]------------ [ 44.607422] kernel BUG at mm/userfaultfd.c:2067! [ 44.608148] Oops: invalid opcode: 0000 [#1] SMP DEBUG_PAGEALLOC KASAN NOPTI [ 44.608814] CPU: 1 UID: 0 PID: 2475 Comm: reproducer Not tainted 6.16.0-rc6 #1 PREEMPT(none) [ 44.609635] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014 [ 44.610695] RIP: 0010:userfaultfd_release_all+0x3a8/0x460 <snip other registers, drop unreliable trace> [ 44.617726] Call Trace: [ 44.617926] <TASK> [ 44.619284] userfaultfd_release+0xef/0x1b0 [ 44.620976] __fput+0x3f9/0xb60 [ 44.621240] fput_close_sync+0x110/0x210 [ 44.622222] __x64_sys_close+0x8f/0x120 [ 44.622530] do_syscall_64+0x5b/0x2f0 [ 44.622840] entry_SYSCALL_64_after_hwframe+0x76/0x7e [ 44.623244] RIP: 0033:0x7f365bb3f227 Kernel panics because it detects UFFD inconsistency during userfaultfd_release_all(). Specifically, a VMA which has a valid pointer to vma->vm_userfaultfd_ctx, but no UFFD flags in vma->vm_flags. The inconsistency is caused in ksm_madvise(): when user calls madvise() with MADV_UNMEARGEABLE on a VMA that is registered for UFFD in MINOR mode, it accidentally clears all flags stored in the upper 32 bits of vma->vm_flags. Assuming x86_64 kernel build, unsigned long is 64-bit and unsigned int and int are 32-bit wide. This setup causes the following mishap during the &= ~VM_MERGEABLE assignment. VM_MERGEABLE is a 32-bit constant of type unsigned int, 0x8000'0000. After ~ is applied, it becomes 0x7fff'ffff unsigned int, which is then promoted to unsigned long before the & operation. This promotion fills upper 32 bits with leading 0s, as we're doing unsigned conversion (and even for a signed conversion, this wouldn't help as the leading bit is 0). & operation thus ends up AND-ing vm_flags with 0x0000'0000'7fff'ffff instead of intended 0xffff'ffff'7fff'ffff and hence accidentally clears the upper 32-bits of its value. Fix it by changing `VM_MERGEABLE` constant to unsigned long, using the BIT() macro. Note: other VM_* flags are not affected: This only happens to the VM_MERGEABLE flag, as the other VM_* flags are all constants of type int and after ~ operation, they end up with leading 1 and are thus converted to unsigned long with leading 1s. Note 2: After commit 31defc3b01d9 ("userfaultfd: remove (VM_)BUG_ON()s"), this is no longer a kernel BUG, but a WARNING at the same place: [ 45.595973] WARNING: CPU: 1 PID: 2474 at mm/userfaultfd.c:2067 but the root-cause (flag-drop) remains the same. [akpm@linux-foundation.org: rust bindgen wasn't able to handle BIT(), from Miguel]
- BDU:2026-02395
- openSUSE-SU-2025:15702-1
- SUSE-SU-2025:4393-1
- SUSE-SU-2025:4422-1
- SUSE-SU-2025:4505-1
- SUSE-SU-2025:4506-1
- SUSE-SU-2025:4516-1
- SUSE-SU-2025:4517-1
- SUSE-SU-2025:4521-1
- SUSE-SU-2025:4530-1
- SUSE-SU-2026:0029-1
- SUSE-SU-2026:0032-1
- SUSE-SU-2026:0033-1
- SUSE-SU-2026:0034-1
- SUSE-SU-2026:20039-1
- SUSE-SU-2026:20059-1
- SUSE-SU-2026:20473-1
- SUSE-SU-2026:20496-1
- Yayın
- 28 Eki 2025
- Güncelleme
- 5 Ağu 2026
- EPSS
- %0,4 · 29. 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
22
İzleyin
Şimdilik düşük öncelik.
- CVSS
- 22 / 40 · 5.5 / 10
- CISA KEV
- 0 / 30 · Listede değil
- EPSS
- 0 / 30 · %0,4
CNA ile NVD puanı
- NVD
- 5,5
- CNA · Linux
- 7,8
- 2,3 puan fark
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Kaydı açan otoritenin puanı ile NVD’nin bağımsız puanı. İki puan arasındaki fark ciddiyetin tartışmalı olduğunu gösterir.
Etkilenen sistemler
| Üretici | Ürün | CPE |
|---|---|---|
| linux | linux kernel | cpe:2.3:o:linux:linux_kernel |
Etkilenen sürümler
NVD sürüm aralıkları (katalogdaki ürünler için). Stack’ine sürümle eklersen eşleşme bunlarla yapılır.
- linux linux kernel4.6 ve sonrası · 5.4.302 öncesi
- linux linux kernel5.5 ve sonrası · 5.10.247 öncesi
- linux linux kernel5.11 ve sonrası · 5.15.197 öncesi
- linux linux kernel5.16 ve sonrası · 6.1.158 öncesi
- linux linux kernel6.2 ve sonrası · 6.6.114 öncesi
- linux linux kernel6.7 ve sonrası · 6.12.55 öncesi
- linux linux kernel6.13 ve sonrası · 6.17.3 öncesi
Ü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
- 4.6etkilenir
- 63c17fb8e5a46a16e10e82005748837fd11a2024 ve sonrası · 850f1ea245bdc0ce6a3fd36bfb80d8cf9647cb71 öncesietkilenir · git
- 63c17fb8e5a46a16e10e82005748837fd11a2024 ve sonrası · 788e5385d0ff69cdba1cabccb9dab8d9647b9239 öncesietkilenir · git
- 63c17fb8e5a46a16e10e82005748837fd11a2024 ve sonrası · b69f19244c2b6475c8a6eb72f0fb0d53509e48cd öncesietkilenir · git
- 63c17fb8e5a46a16e10e82005748837fd11a2024 ve sonrası · 41cb9fd904fe0c39d52e82dd84dc3c96b7aa9693 öncesietkilenir · git
- 63c17fb8e5a46a16e10e82005748837fd11a2024 ve sonrası · 92b82e232b8d8b116ac6e57aeae7a6033db92c60 öncesietkilenir · git
- 63c17fb8e5a46a16e10e82005748837fd11a2024 ve sonrası · ac50c6e0a8f91a02b681af81abb2362fbb67cc18 öncesietkilenir · git
- 63c17fb8e5a46a16e10e82005748837fd11a2024 ve sonrası · 76385629f45740b7888f8fcd83bde955b10f61fe öncesietkilenir · git
- 63c17fb8e5a46a16e10e82005748837fd11a2024 ve sonrası · f04aad36a07cc17b7a5d5b9a2d386ce6fae63e93 öncesietkilenir · git
- 4.6 ö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.158-1 öncesi | 6.1.158-1 |
| Debian:13 | linux | 6.12.57-1 öncesi | 6.12.57-1 |
| Debian:14 | linux | 6.17.6-1 öncesi | 6.17.6-1 |
| openSUSE:Leap 15.6 | dtb-aarch64 | 6.4.0-150600.23.81.1 öncesi | 6.4.0-150600.23.81.1 |
| openSUSE:Leap 15.6 | kernel-debug | 6.4.0-150600.23.81.3 öncesi | 6.4.0-150600.23.81.3 |
| openSUSE:Leap 15.6 | kernel-kvmsmall | 6.4.0-150600.23.81.3 öncesi | 6.4.0-150600.23.81.3 |
| openSUSE:Leap 15.6 | kernel-obs-qa | 6.4.0-150600.23.81.1 öncesi | 6.4.0-150600.23.81.1 |
| openSUSE:Tumbleweed | kernel-source | 6.17.7-1.1 öncesi | 6.17.7-1.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | kernel-64kb | 5.3.18-150300.59.229.3 öncesi | 5.3.18-150300.59.229.3 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | kernel-default-base | 5.3.18-150300.59.229.3.150300.18.136.3 öncesi | 5.3.18-150300.59.229.3.150300.18.136.3 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | kernel-docs | 5.3.18-150300.59.229.2 öncesi | 5.3.18-150300.59.229.2 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | kernel-obs-build | 5.3.18-150300.59.229.3 öncesi | 5.3.18-150300.59.229.3 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | kernel-preempt | 5.3.18-150300.59.229.3 öncesi | 5.3.18-150300.59.229.3 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | kernel-source | 5.3.18-150300.59.229.3 öncesi | 5.3.18-150300.59.229.3 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | kernel-syms | 5.3.18-150300.59.229.1 öncesi | 5.3.18-150300.59.229.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS | kernel-64kb | 5.14.21-150400.24.187.3 öncesi | 5.14.21-150400.24.187.3 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS | kernel-docs | 5.14.21-150400.24.187.1 öncesi | 5.14.21-150400.24.187.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS | kernel-obs-build | 5.14.21-150400.24.187.3 öncesi | 5.14.21-150400.24.187.3 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS | kernel-source | 5.14.21-150400.24.187.3 öncesi | 5.14.21-150400.24.187.3 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS | kernel-syms | 5.14.21-150400.24.187.1 öncesi | 5.14.21-150400.24.187.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS | kernel-64kb | 5.14.21-150500.55.130.3 öncesi | 5.14.21-150500.55.130.3 |
| SUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS | kernel-docs | 5.14.21-150500.55.130.1 öncesi | 5.14.21-150500.55.130.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS | kernel-obs-build | 5.14.21-150500.55.130.3 öncesi | 5.14.21-150500.55.130.3 |
| SUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS | kernel-syms | 5.14.21-150500.55.130.1 öncesi | 5.14.21-150500.55.130.1 |
+74
Aynı üründe
linux: tüm kayıtlarAynı birincil ürünün en yüksek skorlu diğer kayıtları.
- CVE-2022-0847A flaw was found in the way the "flags" member of the new pipe buffer structure was lacking proper initialization in copy_page_to_iter_pipe KEV89Hemen
- CVE-2021-22555Heap Out-Of-Bounds Write in Netfilter IP6T_SO_SET_REPLACEKEV85Hemen
- CVE-2016-5195Race condition in mm/gup.c in the Linux kernel 2.x through 4.x before 4.8.3 allows local users to gain privileges by leveraging incorrect haKEV83Hemen
- CVE-2019-13272In the Linux kernel before 5.1.17, ptrace_link in kernel/ptrace.c mishandles the recording of the credentials of a process that wants to creKEV77Bu hafta
- CVE-2013-6282The (1) get_user and (2) put_user API functions in the Linux kernel before 3.5.5 on the v6k and v7 ARM platforms do not validate certain addKEV77Bu hafta
- CVE-2013-2094The perf_swevent_init function in kernel/events/core.c in the Linux kernel before 3.8.9 uses an incorrect integer data type, which allows loKEV77Bu hafta
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 | 41cb9fd904fe0c39d52e82dd84dc3c96b7aa9693 | Üretici (CNA) |
| Linux Linux | 76385629f45740b7888f8fcd83bde955b10f61fe | Üretici (CNA) |
| Linux Linux | 788e5385d0ff69cdba1cabccb9dab8d9647b9239 | Üretici (CNA) |
| Linux Linux | 850f1ea245bdc0ce6a3fd36bfb80d8cf9647cb71 | Üretici (CNA) |
| Linux Linux | 92b82e232b8d8b116ac6e57aeae7a6033db92c60 | Üretici (CNA) |
| Linux Linux | ac50c6e0a8f91a02b681af81abb2362fbb67cc18 | Üretici (CNA) |
| Linux Linux | b69f19244c2b6475c8a6eb72f0fb0d53509e48cd | Üretici (CNA) |
| Linux Linux | f04aad36a07cc17b7a5d5b9a2d386ce6fae63e93 | Üretici (CNA) |
| azl3 kernel 6.6.112.1-2 on Azure Linux 3.0 | 6.6.117.1-1 · CBL-Mariner Releases | Microsoft (MSRC) |
| cbl2 kernel 5.15.186.1-1 on CBL Mariner 2.0 | 5.15.200.1-1 · CBL-Mariner Releases | Microsoft (MSRC) |
| debian:linux | 6.1.158-1 · Debian:12 | Paket deposu (OSV) |
| opensuse:dtb-aarch64 | 6.4.0-150600.23.81.1 · openSUSE:Leap 15.6 | Paket deposu (OSV) |
| opensuse:kernel-64kb | 6.4.0-150600.23.81.3 · openSUSE:Leap 15.6 | Paket deposu (OSV) |
| opensuse:kernel-debug | 6.4.0-150600.23.81.3 · openSUSE:Leap 15.6 | Paket deposu (OSV) |
| suse:kernel-64kb | 6.4.0-150600.23.81.3 · SUSE:Linux Enterprise Module for Basesystem 15 SP6 | Paket deposu (OSV) |
| suse:kernel-64kb | 6.4.0-150700.53.25.1 · SUSE:Linux Enterprise Module for Basesystem 15 SP7 | Paket deposu (OSV) |
| suse:kernel-default | 6.4.0-150600.23.81.3 · SUSE:Linux Enterprise Module for Basesystem 15 SP6 | Paket deposu (OSV) |
| suse:kernel-default | 6.4.0-150700.53.25.1 · SUSE:Linux Enterprise Module for Basesystem 15 SP7 | Paket deposu (OSV) |
| suse:kernel-default-base | 6.4.0-150600.23.81.3.150600.12.36.3 · SUSE:Linux Enterprise Module for Basesystem 15 SP6 | Paket deposu (OSV) |
| suse:kernel-default-base | 6.4.0-150700.53.25.1.150700.17.17.1 · SUSE:Linux Enterprise Module for Basesystem 15 SP7 | Paket deposu (OSV) |
| suse:kernel-docs | 6.4.0-150600.23.81.1 · SUSE:Linux Enterprise Module for Development Tools 15 SP6 | Paket deposu (OSV) |
| suse:kernel-docs | 6.4.0-150700.53.25.2 · SUSE:Linux Enterprise Module for Development Tools 15 SP7 | Paket deposu (OSV) |
| suse:kernel-livepatch-SLE15-SP6_Update_18 | 1-150600.13.3.3 · SUSE:Linux Enterprise Live Patching 15 SP6 | Paket deposu (OSV) |
| suse:kernel-livepatch-SLE15-SP7_Update_7 | 1-150700.15.3.1 · SUSE:Linux Enterprise Live Patching 15 SP7 | Paket deposu (OSV) |
| suse:kernel-obs-build | 6.4.0-150600.23.81.3 · SUSE:Linux Enterprise Module for Development Tools 15 SP6 | Paket deposu (OSV) |
| suse:kernel-obs-build | 6.4.0-150700.53.25.1 · SUSE:Linux Enterprise Module for Development Tools 15 SP7 | Paket deposu (OSV) |
| suse:kernel-source | 6.4.0-150600.23.81.2 · SUSE:Linux Enterprise Module for Basesystem 15 SP6 | Paket deposu (OSV) |
| suse:kernel-source | 6.4.0-150700.53.25.1 · SUSE:Linux Enterprise Module for Basesystem 15 SP7 | Paket deposu (OSV) |
| suse:kernel-syms | 6.4.0-150600.23.81.1 · SUSE:Linux Enterprise Module for Development Tools 15 SP6 | Paket deposu (OSV) |
| suse:kernel-syms | 6.4.0-150700.53.25.1 · SUSE:Linux Enterprise Module for Development Tools 15 SP7 | Paket deposu (OSV) |
+2
İstismar durumu
Kavram kanıtı mevcut
Kamuya açık bir kavram kanıtı ya da tespit imzası var. İstismar bilgisi dışarıda; yamayı geciktirmeyin.
Kanıt
- GitHub’da kavram kanıtı deposu ×1
Noroxi istismar kodu barındırmaz ve istismar bağlantısı vermez. Metasploit modül adı ve Nuclei şablon kimliği gösterilir (kod değil, ad); Exploit-DB kayıtları ve PoC depoları yalnızca sayı olarak verilir.
| Kaynak | Tür | Tarih |
|---|---|---|
| GitHub’da kavram kanıtı deposu | stars:12 | 2025-12-01 |
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
- İlk kavram kanıtı+34 gün
- Bugün30 Eyl 2026+338 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.
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
Saldırı koşulları
- Sisteme yerel erişimi olan biri tetikleyebilir.
- Düşük yetkili bir hesap yeterli.
- Kullanıcının bir şey yapması gerekmez.
- Özel bir koşul gerekmez; tekrarlanabilir.
Başarılı olursa
- Gizlilik
- yok
- Bütünlük
- yok
- Erişilebilirlik
- yüksek · hizmet durdurulabilir
- Saldırı vektörü
- Yerel
- Karmaşıklık
- Düşük
- Gereken yetki
- Düşük
- Kullanıcı etkileşimi
- Gerekmez
- Kapsam
- Değişmez
- Gizlilik etkisi
- Yok
- Bütünlük etkisi
- Yok
- Erişilebilirlik etkisi
- Yüksek
Zayıflık sınıfı (CWE)
—
CVSS vektörü
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
nvd-primary
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.
Noroxi analizi
Bu kayıt için henüz Noroxi analizi yok
385 binden fazla 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 isteyinDeğ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/41cb9fd904fe0c39d52e82dd84dc3c96b7aa9693
- git.kernel.org/stable/c/76385629f45740b7888f8fcd83bde955b10f61fe
- git.kernel.org/stable/c/788e5385d0ff69cdba1cabccb9dab8d9647b9239
- git.kernel.org/stable/c/850f1ea245bdc0ce6a3fd36bfb80d8cf9647cb71
- git.kernel.org/stable/c/92b82e232b8d8b116ac6e57aeae7a6033db92c60
- git.kernel.org/stable/c/ac50c6e0a8f91a02b681af81abb2362fbb67cc18
- git.kernel.org/stable/c/b69f19244c2b6475c8a6eb72f0fb0d53509e48cd
- git.kernel.org/stable/c/f04aad36a07cc17b7a5d5b9a2d386ce6fae63e93
Üretici bildirimleri ve resmî kayıtlar. İstismar/PoC bağlantıları bilinçli olarak dışarıda bırakıldı.