
A StackWarp sebezhetőség és működése
A StackWarp nevű sérülékenységet az AMD SEV-SNP (Secure Encrypted Virtualization – Secure Nested Paging) környezetében azonosították. Ennek révén egy rosszindulatú rendszergazda hozzáférhet titkosított adatokhoz, például kriptográfiai privát kulcsokhoz, megkerülheti az OpenSSH jelszavas hitelesítését, és magasabb jogosultságot is szerezhet. A probléma gyökere egy eddig dokumentálatlan vezérlőbit a processzorarchitektúrában. Amikor az SMT (egyidejű többszálúság) be van kapcsolva, a támadó manipulálhatja a védett VM-ek veremmutatójának (stack pointer) pozícióját, így sérül az adatok elszigetelése.
Hogyan jutottak el idáig?
A verem (stack) egy olyan memóriaterület, amelyet a számítógép függvényhívások, lokális változók és visszatérési címek kezelésére használ. A modern processzorok veremkezelő egységet (stack engine) használnak, hogy gyorsítsák a hozzáférést és csökkentsék a szinkronizációs igényt a magok között. Ha a támadó megváltoztatja a megfelelő vezérlőbitet (a 19-es bitet az MSR 0xC0011029 regiszterben), megszűnik a magok közötti szinkronizáció. Ezzel képes olyan műveleteket végrehajtani, amelyek révén például RSA-2048 privátkulcsokat tud visszanyerni, megkerülheti a sudo jelszavas védelmét, vagy akár kernel-szintű (ring 0) kódot is futtathat a vendéggépen.
Következmények és védekezés
A sérülékenység rávilágít arra, mennyire nehéz biztosítani a teljes elszigeteltséget a virtualizációban. Bár az AMD már 2025 júliusában elérhetővé tette a javítást, a teljes védelemhez az OEM-partnereknek is frissíteniük kell a firmware-t.
Összefoglalásként: ha AMD processzort és SEV-SNP-t használsz, érdemes mielőbb telepíteni a legújabb frissítéseket, ellenkező esetben az adataidat egy egyszerű bitflip is veszélybe sodorhatja. A StackWarp-kutatás forráskódja már nyilvánosan elérhető a GitHubon, így a támadók is könnyedén próbálkozhatnak.
