Skip to content

StackWarp (AMD SEV-SNP, CVE-2025-29943)

Bir AMD Zen core üzerindeki malicious bir hypervisor, stack engine'i yöneten undocumented bir control bit'ini toggle edebilir ve o state SMT sibling boyunca doğru senkronize edilmediği için, bir SEV-SNP confidential guest içindeki stack pointer'ı deterministik şekilde manipüle edebilir — Zen 1–5'te yalnızca bir side channel değil, bir integrity break'i (fault injection).

Mechanism

Senkronize olmayan bir stack engine'in SEV-SNP integrity'sini neden kırdığı

AMD SEV-SNP, bir confidential VM'in CPU state'ini ve memory'sini malicious bir hypervisor'a karşı bile integral tutmak içindir. Stack engine, stack pointer'a (RSP) yapılan update'leri izleyen ve katlayan bir micro-optimization'dır, böylece push/pop dizilerinin ALU'lar üzerinden serialize olması gerekmez. StackWarp'ın bulgusu, bu engine'in enable/davranışının core-scoped bir MSR içindeki undocumented bir bit (0xC0011029'un bit 19'u olarak raporlanmış) tarafından yönetildiği ve state'inin bir core'un iki logical (SMT) thread'i boyunca doğru senkronize edilmediğidir. Sibling thread'i kontrol eden privileged bir attacker o bit'i flip edebilir, öyle ki victim SEV-SNP guest resume ettiğinde engine deterministik bir şekilde yanlış bir stack pointer hesaplar. Bu, guest'in RSP'sini deterministik şekilde warp eder, guest'in return address'leri ve stack data'sını nereden okuduğunu yeniden yönlendirir — hypervisor'un guest'in control ve data flow'unu hijack etmesine izin verir. SNP'nin korumaları guest'in register/stack hesaplamalarının sadık olduğunu varsaydığı için, RSP üzerinde deterministik bir fault integrity garantisini tamamen zayıflatır. Attack, attacker'ın sibling core'u işgal edebilmesi için SMT enabled olmasını gerektirir; aksi takdirde tamamen patch edilmiş sistemler dahil Zen 1'den Zen 5'e kadar etkiler.

Walkthrough

Bu, bir leakage channel'dan ziyade bir fault / integrity attack'ıdır (CipherLeaks'in ciphertext leak'i ile karşılaştır).

Deterministic stack warp, kavramsal olarak
  1. Co-locate. Malicious hypervisor victim SEV-SNP vCPU'yu schedule eder ve bir attacker context'ini onun SMT sibling'ine pin eder.
  2. Engine'i toggle et. Sibling'den attacker, stack engine'i devre dışı bırakan/değiştiren undocumented MSR bit'ini yazar; state shared/senkronize olmadığı için değişiklik victim thread'inde hissedilir.
  3. RSP'yi warp et. Guest resume olduğunda stack-pointer hesaplamaları attacker'ın öngördüğü bir offset'e iner, böylece bir return ya da stack access controlled bir konum kullanır — CVM içinde control-flow / data-flow hijack'i verir.

Confidentiality değil, integrity

Public raporlama, tek bir hatalı signature'dan bir RSA-2048 key'inin kurtarılması, OpenSSH/sudo password check'lerinin bypass edilmesi ve in-guest code execution elde edilmesi dahil end-to-end sonuçları tanımlar. Bu entry kavramsal kalır ve offset'ler ya da çalışan bir fault tarifi vermez.

Detection

  • Guest-tarafı fault anomalileri. Bir SNP guest içinde açıklanamayan, yeniden üretilebilir stack-pointer corruption'ı — rastgele değil deterministik olarak tekrar eden crash'ler, return-address fault'ları ya da signature/auth başarısızlıkları — kazara değil, induced fault'lara işaret edebilir.
  • Host MSR telemetry'si. Bir confidential guest resident'ken hypervisor tarafından undocumented/reserved core MSR'lara (örneğin 0xC0011029) yapılan write'lar son derece anormaldir; hypervisor-integrity monitoring ve attestation log'ları bunları işaretlemelidir.
  • Etkilenen core'lar etrafında SNP attestation / measurement uyumsuzlukları.

Mitigation

  • SEV-SNP host'larında SMT'yi devre dışı bırak: attack'ın ihtiyaç duyduğu sibling-thread channel'ını kaldırdığı için son derece etkili olduğu raporlanır.
  • AMD'nin microcode/firmware fix'ini uygula (CVE-2025-29943): stack-engine control'ünü doğru şekilde scope eder ya da senkronize eder, böylece bir confidential VM aktifken thread'ler arasında manipüle edilemez.
  • Patch edilmiş microcode'un deploy edildiği teyit edilene kadar hypervisor'dan MSR access'i kısıtla / izle ve bir SNP guest'e güvenmeden önce remote attestation'a güven.

References