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

CVE-2021-47094: KVM: x86/mmu: Don't advance iterator after restart due to yielding

Noroxi değerlendirmesi

Öncelik: İzleyin (aksiyon skoru 31/100)

  • İzlediğimiz kaynaklarda (CISA KEV, Exploit-DB, Metasploit, Nuclei, GitHub) herkese açık istismar kodu ya da sahada sömürü kaydı yok.
  • Önümüzdeki 30 günde sömürülme olasılığı %0,21 (FIRST EPSS).
  • 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.
  • Düzeltilmiş sürüm: Linux Linux 3a0f64de479cae75effb630a2e0a237ca0d0623c, d884eefd75cc54887bc2e9e724207443525dfb2c.
  • Ulusal siber güvenlik bildirimlerinde (siberguvenlik.gov.tr) 1 kez anıldı.

Şimdilik düşük öncelik. Linux Linux 3a0f64de479cae75effb630a2e0a237ca0d0623c, d884eefd75cc54887bc2e9e724207443525dfb2c ya da daha yeni sürüme yükseltin.

Kaydın verisinden otomatik üretilir: CVSS (NVD ve CNA), CISA KEV ve SSVC, FIRST EPSS, istismar kaynakları, düzeltme sürümleri. Nasıl hesaplıyoruz

Birincil kaynaklar: NVD · CVE.org · FIRST EPSS

In the Linux kernel, the following vulnerability has been resolved: KVM: x86/mmu: Don't advance iterator after restart due to yielding After dropping mmu_lock in the TDP MMU, restart the iterator during tdp_iter_next() and do not advance the iterator. Advancing the iterator results in skipping the top-level SPTE and all its children, which is fatal if any of the skipped SPTEs were not visited before yielding. When zapping all SPTEs, i.e. when min_level == root_level, restarting the iter and then invoking tdp_iter_next() is always fatal if the current gfn has as a valid SPTE, as advancing the iterator results in try_step_side() skipping the current gfn, which wasn't visited before yielding. Sprinkle WARNs on iter->yielded being true in various helpers that are often used in conjunction with yielding, and tag the helper with __must_check to reduce the probabily of improper usage. Failing to zap a top-level SPTE manifests in one of two ways. If a valid SPTE is skipped by both kvm_tdp_mmu_zap_all() and kvm_tdp_mmu_put_root(), the shadow page will be leaked and KVM will WARN accordingly. WARNING: CPU: 1 PID: 3509 at arch/x86/kvm/mmu/tdp_mmu.c:46 [kvm] RIP: 0010:kvm_mmu_uninit_tdp_mmu+0x3e/0x50 [kvm] Call Trace: <TASK> kvm_arch_destroy_vm+0x130/0x1b0 [kvm] kvm_destroy_vm+0x162/0x2a0 [kvm] kvm_vcpu_release+0x34/0x60 [kvm] __fput+0x82/0x240 task_work_run+0x5c/0x90 do_exit+0x364/0xa10 ? futex_unqueue+0x38/0x60 do_group_exit+0x33/0xa0 get_signal+0x155/0x850 arch_do_signal_or_restart+0xed/0x750 exit_to_user_mode_prepare+0xc5/0x120 syscall_exit_to_user_mode+0x1d/0x40 do_syscall_64+0x48/0xc0 entry_SYSCALL_64_after_hwframe+0x44/0xae If kvm_tdp_mmu_zap_all() skips a gfn/SPTE but that SPTE is then zapped by kvm_tdp_mmu_put_root(), KVM triggers a use-after-free in the form of marking a struct page as dirty/accessed after it has been put back on the free list. This directly triggers a WARN due to encountering a page with page_count() == 0, but it can also lead to data corruption and additional errors in the kernel. WARNING: CPU: 7 PID: 1995658 at arch/x86/kvm/../../../virt/kvm/kvm_main.c:171 RIP: 0010:kvm_is_zone_device_pfn.part.0+0x9e/0xd0 [kvm] Call Trace: <TASK> kvm_set_pfn_dirty+0x120/0x1d0 [kvm] __handle_changed_spte+0x92e/0xca0 [kvm] __handle_changed_spte+0x63c/0xca0 [kvm] __handle_changed_spte+0x63c/0xca0 [kvm] __handle_changed_spte+0x63c/0xca0 [kvm] zap_gfn_range+0x549/0x620 [kvm] kvm_tdp_mmu_put_root+0x1b6/0x270 [kvm] mmu_free_root_page+0x219/0x2c0 [kvm] kvm_mmu_free_roots+0x1b4/0x4e0 [kvm] kvm_mmu_unload+0x1c/0xa0 [kvm] kvm_arch_destroy_vm+0x1f2/0x5c0 [kvm] kvm_put_kvm+0x3b1/0x8b0 [kvm] kvm_vcpu_release+0x4e/0x70 [kvm] __fput+0x1f7/0x8c0 task_work_run+0xf8/0x1a0 do_exit+0x97b/0x2230 do_group_exit+0xda/0x2a0 get_signal+0x3be/0x1e50 arch_do_signal_or_restart+0x244/0x17f0 exit_to_user_mode_prepare+0xcb/0x120 syscall_exit_to_user_mode+0x1d/0x40 do_syscall_64+0x4d/0x90 entry_SYSCALL_64_after_hwframe+0x44/0xae Note, the underlying bug existed even before commit 1af4a96025b3 ("KVM: x86/mmu: Yield in TDU MMU iter even if no SPTES changed") moved calls to tdp_mmu_iter_cond_resched() to the beginning of loops, as KVM could still incorrectly advance past a top-level entry when yielding on a lower-level entry. But with respect to leaking shadow pages, the bug was introduced by yielding before processing the current gfn. Alternatively, tdp_mmu_iter_cond_resched() could simply fall through, or callers could jump to their "retry" label. The downside of that approach is that tdp_mmu_iter_cond_resched() _must_ be called before anything else in the loop, and there's no easy way to enfornce that requirement. Ideally, KVM would handling the cond_resched() fully within the iterator macro (the code is actually quite clean) and avoid this entire class of bugs, but that is extremely difficult do wh ---truncated---

YüksekCVSS 7.8 · v3.1—İstismar yok Düzeltme var
Güncelleme
5 Ağu 2026
EPSS
%0,2 · 12. yüzdelik
CWE
—

Rapor araçları

JSON

Aksiyon skoru

31

İzleyin

Şimdilik düşük öncelik.

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

CISA SSVC kararı

Sömürü
yok
Otomatikleştirilebilir
hayır
Teknik etki
kısmi

Vulnrichment: CISA'nın karar ağacı girdileri.

CNA ile NVD puanı

NVD
—
CNA · Linux
7,8
NVD henüz kendi puanını vermedi; gösterilen puan CNA’nın.

Kaydı açan otoritenin puanı ile NVD’nin bağımsız puanı. İki puan arasındaki fark ciddiyetin tartışmalı olduğunu gösterir.

Bu kayıt değişirse haber alın

  • KEV'de değil: sahada sömürü kaydı yok
  • Herkese açık istismar kodu kaydı yok
  • Düzeltme yayımlandı

Bunlardan biri değişirse günlük e-posta özetinde haber veririz.

CVE-2021-47094 kaydını takip edin

Ne zaman haber verilir

  • CISA KEV'e girdiğinde
  • istismar kodu ortaya çıktığında ya da silahlaştırıldığında
  • kayıt güncellendiğinde (düzeltme sürümü dahil)
  • EPSS bir haftada 20 puan arttığında

Günde bir e-posta özeti (06:00 UTC); webhook bağlarsanız KEV ve silahlaştırılmış istismar anında.

Ücretsiz hesapla ayrıca

WordPress siteniz mi var? WP Lens ile ücretsiz tarayın

  • Stack uyarıları: kullandığınız ürün ve sürümleri ekleyin, onları etkileyen yeni CVE'ler size gelsin
  • Site izleme: 1 site, kesintide anında e-posta
  • Alan adınızı ekleyin: alt alan adları ve ele geçirme riski her hafta taransın (1 alan adı)
  • Güvenlik araçlarında saatte 10 tarama (hesapsız günde 3), API anahtarı ve MCP
  • Taramalarınız tek panelde: bulgular, son taramada değişenler, alan adı ya da müşteri başına rapor (PDF, paylaşım bağlantısı)
Tüm ücretsiz araçlar

E-postayla kayıt olun · Hesabınız var mı? Giriş yapın

Ücretsiz hesap, kart istenmez. Takibi istediğiniz an bırakırsınız.

WordPress siteniz mi var? WP Lens ile ücretsiz tarayın

Sürümünüz etkileniyor mu? Kontrol edin

Noroxi analizi

Sizin ortamınızda ne anlama geliyor?

Yukarıdaki değerlendirme kaydın verisinden otomatik üretilir; ortamınızı bilmez. Bu açığın sizde gerçekten sömürülebilir olup olmadığını ve hangi önlemin yeteceğini ekibimiz sizin sistemlerinizde doğrular.

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

Etkilenen sistemler

Sürümünüz etkileniyor mu?

Ürünü seçip kullandığınız sürümü yazın. Bu kaydın sürüm aralıklarıyla tarayıcınızda karşılaştırılır; sürüm hiçbir yere gönderilmez.

ÜreticiÜrün
linuxlinux kernel

Etkilenen sürümler

NVD sürüm aralıkları (katalogdaki ürünler için). Stack’inize sürümle eklerseniz eşleşme bunlarla yapılır.

  • linux linux kernel5.10 ve sonrası · 5.15.12 öncesi
  • linux linux kernel5.16

Ü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.10etkilenir
    • faaf05b00aecdb347ffd1d763d024394ec0329f8 ve sonrası · d884eefd75cc54887bc2e9e724207443525dfb2c öncesietkilenir · git
    • faaf05b00aecdb347ffd1d763d024394ec0329f8 ve sonrası · 3a0f64de479cae75effb630a2e0a237ca0d0623c öncesietkilenir · git
    • 5.10 öncesietkilenmez · semver
    • 5.15.12 ve sonrası · 5.15.* dahil öncesietkilenmez · semver
    • 5.16 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:12linux5.15.15-1 öncesi5.15.15-1
openSUSE:Leap 15.5dtb-aarch645.14.21-150500.55.59.1 öncesi5.14.21-150500.55.59.1
openSUSE:Leap 15.5kernel-64kb5.14.21-150500.55.59.1 öncesi5.14.21-150500.55.59.1
openSUSE:Leap 15.5kernel-azure5.14.21-150500.33.48.1 öncesi5.14.21-150500.33.48.1
openSUSE:Leap 15.5kernel-debug5.14.21-150500.55.59.1 öncesi5.14.21-150500.55.59.1
openSUSE:Leap 15.5kernel-default5.14.21-150500.55.59.1 öncesi5.14.21-150500.55.59.1
openSUSE:Leap 15.5kernel-default-base5.14.21-150500.55.59.1.150500.6.25.7 öncesi5.14.21-150500.55.59.1.150500.6.25.7
openSUSE:Leap 15.5kernel-docs5.14.21-150500.55.59.1 öncesi5.14.21-150500.55.59.1
openSUSE:Leap 15.5kernel-kvmsmall5.14.21-150500.55.59.1 öncesi5.14.21-150500.55.59.1
openSUSE:Leap 15.5kernel-obs-build5.14.21-150500.55.59.1 öncesi5.14.21-150500.55.59.1
openSUSE:Leap 15.5kernel-obs-qa5.14.21-150500.55.59.1 öncesi5.14.21-150500.55.59.1
openSUSE:Leap 15.5kernel-rt5.14.21-150500.13.47.1 öncesi5.14.21-150500.13.47.1
openSUSE:Leap 15.5kernel-rt_debug5.14.21-150500.13.47.1 öncesi5.14.21-150500.13.47.1
openSUSE:Leap 15.5kernel-source5.14.21-150500.55.59.1 öncesi5.14.21-150500.55.59.1
openSUSE:Leap 15.5kernel-source-azure5.14.21-150500.33.48.1 öncesi5.14.21-150500.33.48.1
openSUSE:Leap 15.5kernel-source-rt5.14.21-150500.13.47.1 öncesi5.14.21-150500.13.47.1
openSUSE:Leap 15.5kernel-syms5.14.21-150500.55.59.1 öncesi5.14.21-150500.55.59.1
openSUSE:Leap 15.5kernel-syms-azure5.14.21-150500.33.48.1 öncesi5.14.21-150500.33.48.1
openSUSE:Leap 15.5kernel-syms-rt5.14.21-150500.13.47.1 öncesi5.14.21-150500.13.47.1
openSUSE:Leap 15.5kernel-zfcpdump5.14.21-150500.55.59.1 öncesi5.14.21-150500.55.59.1
openSUSE:Leap Micro 5.3kernel-default5.14.21-150400.24.116.1 öncesi5.14.21-150400.24.116.1
openSUSE:Leap Micro 5.3kernel-default-base5.14.21-150400.24.116.1.150400.24.54.5 öncesi5.14.21-150400.24.116.1.150400.24.54.5
openSUSE:Leap Micro 5.3kernel-rt5.14.21-150400.15.76.1 öncesi5.14.21-150400.15.76.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOSkernel-64kb5.14.21-150400.24.116.1 öncesi5.14.21-150400.24.116.1

+27

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

  • CVE-2026-31431crypto: algif_aead - Revert to operating out-of-placeKEV
    90Hemen
  • 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 KEV
    89Hemen
  • CVE-2021-22555Heap Out-Of-Bounds Write in Netfilter IP6T_SO_SET_REPLACEKEV
    85Hemen

Bu üründe bundan önce ve sonra yayımlananlar

  • ← ÖncekiCVE-2021-470924 Mar 2024 · KVM: VMX: Always clear vmx->fail on emulation_required
    22İzleyin
  • ← ÖncekiCVE-2021-470934 Mar 2024 · platform/x86: intel_pmc_core: fix memleak on registration failure
    22İzleyin
  • Sonraki →CVE-2021-470954 Mar 2024 · ipmi: ssif: initialize ssif_info->client early
    22İzleyin

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 Linux3a0f64de479cae75effb630a2e0a237ca0d0623cÜretici (CNA)
Linux Linuxd884eefd75cc54887bc2e9e724207443525dfb2cÜretici (CNA)
debian:linux5.15.15-1 · Debian:12Paket deposu (OSV)
opensuse:dtb-aarch645.14.21-150500.55.59.1 · openSUSE:Leap 15.5Paket deposu (OSV)
opensuse:kernel-64kb5.14.21-150500.55.59.1 · openSUSE:Leap 15.5Paket deposu (OSV)
opensuse:kernel-debug5.14.21-150500.55.59.1 · openSUSE:Leap 15.5Paket deposu (OSV)
opensuse:kernel-default5.14.21-150400.24.116.1 · openSUSE:Leap Micro 5.3Paket deposu (OSV)
opensuse:kernel-default-base5.14.21-150400.24.116.1.150400.24.54.5 · openSUSE:Leap Micro 5.3Paket deposu (OSV)
opensuse:kernel-docs5.14.21-150500.55.59.1 · openSUSE:Leap 15.5Paket deposu (OSV)
opensuse:kernel-kvmsmall5.14.21-150500.55.59.1 · openSUSE:Leap 15.5Paket deposu (OSV)
opensuse:kernel-obs-build5.14.21-150500.55.59.1 · openSUSE:Leap 15.5Paket deposu (OSV)
opensuse:kernel-rt5.14.21-150400.15.76.1 · openSUSE:Leap Micro 5.3Paket deposu (OSV)
opensuse:kernel-rt_debug5.14.21-150500.13.47.1 · openSUSE:Leap 15.5Paket deposu (OSV)
opensuse:kernel-source-rt5.14.21-150500.13.47.1 · openSUSE:Leap 15.5Paket deposu (OSV)
opensuse:kernel-syms-rt5.14.21-150500.13.47.1 · openSUSE:Leap 15.5Paket deposu (OSV)
suse:kernel-64kb5.14.21-150400.24.116.1 · SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOSPaket deposu (OSV)
suse:kernel-default5.14.21-150400.24.116.1 · SUSE:Linux Enterprise Micro 5.3Paket deposu (OSV)
suse:kernel-default-base5.14.21-150400.24.116.1.150400.24.54.5 · SUSE:Linux Enterprise Micro 5.3Paket deposu (OSV)
suse:kernel-docs5.14.21-150400.24.116.1 · SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOSPaket deposu (OSV)
suse:kernel-livepatch-SLE15-SP4_Update_251-150400.9.5.1 · SUSE:Linux Enterprise Live Patching 15 SP4Paket deposu (OSV)
suse:kernel-livepatch-SLE15-SP5-RT_Update_131-150500.11.3.1 · SUSE:Linux Enterprise Live Patching 15 SP5Paket deposu (OSV)
suse:kernel-obs-build5.14.21-150400.24.116.1 · SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOSPaket deposu (OSV)
suse:kernel-rt5.14.21-150400.15.76.1 · SUSE:Linux Enterprise Micro 5.3Paket deposu (OSV)
suse:kernel-source5.14.21-150400.24.116.1 · SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOSPaket deposu (OSV)
suse:kernel-source-rt5.14.21-150400.15.76.1 · SUSE:Linux Enterprise Micro 5.3Paket deposu (OSV)
suse:kernel-syms5.14.21-150400.24.116.1 · SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOSPaket deposu (OSV)
suse:kernel-zfcpdump5.14.21-150400.24.116.1 · SUSE:Linux Enterprise Server 15 SP4-LTSSPaket 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ıklayın, aynı araştırmacının diğer kayıtlarını görün.

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).

Ulusal bildirim (Siber Güvenlik Başkanlığı / USOM)

Bu kaydı anan resmi güvenlik bildirimleri; çözüm önerisi kurumun sayfasında.

Tüm ulusal bildirimler →

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
yüksek · veriler okunabilir
Bütünlük
yüksek · veri ya da yapılandırma değiştirilebilir
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
Yüksek
Bütünlük etkisi
Yüksek
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:H/I:H/A:H

nvd-secondary

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 referansları göster (1 daha)

Üretici bildirimleri ve resmî kayıtlar. İstismar/PoC bağlantıları bilinçli olarak dışarıda bırakıldı.

Tüm kayıtlar