A napokban egy új sebezhetőségre derült fény az AMD háza táján, amire Tavis Ormandy, a Google Information Security részlegének egyik kutatója bukkant rá. A Zenbleed névre keresztelt bug az információk alapján csak és kizárólag a ZEN 2 architektúra köré épülő AMD processzorokat érinti, beleértve az EPYC 7002-es sorozatot, illetve a RYZEN 3000-es, RYZEN 4000-es, illetve Ryzen 5000-es szériákat. A bugon keresztül lehetőség van különböző kényes adatok megszerzésére a processzoron keresztül, így például adattitkosító kulcsok, felhasználói adatok, valamint egyebek is kiszivároghatnak, amennyiben a támadó kellően felkészült és ismeri a sérülékenység minden aspektusát. A biztonságtechnikai kutatók szerint a sebezhetőségben rejlő lehetőségek kiaknázásához nincs szükség fizikai jelenlétre, távolról is támadható az adott rendszer, ehhez pedig elég egy weboldalba ágyazott JavaScript kód is.
Az AMD-t eredetileg 2023. május 15-én értesítette az említett biztonságtechnikai kutató, vagyis a vállalatnak volt némi ideje arra, hogy a sebezhetőséget alaposan tanulmányozza és a befoltozásához szükséges legfontosabb lépéseket megtegyék a szakemberek. Ennek eredményeként az EPYC 7002-es sorozatú, azaz Rome kódnév alatt futó szerverprocesszorokhoz már megérkeztek a patchek, amelyek új firmware formájában érhetőek el, viszont a RYZEN 3000-es, RYZEN 4000-es, valamint RYZEN 5000-es sorozatú processzorokhoz majd csak később, november és december folyamán válnak elérhetővé a rést befoltozó patchek, ugyancsak új firmware-ek formájában.
A Zenbleed bug által érintett AMD processzor-sorozatok listája
Processzor | Agesa Firmware verziója | Elérhetőség az OEM-ek számára | Mikrokód |
Második generációs AMD EPYC Rome processzorok | RomePI 1.0.0.H | Most | 0x0830107A |
Ryzen 3000 Series “Matisse” | ComboAM4v2PI_1.2.0.C | ComboAM4PI_1.0.0.C | 2023 decembere, mindkettőnél | ? |
Ryzen 4000 Series "Renoir" AM4 | ComboAM4v2PI_1.2.0.C | 2023 decembere | ? |
Threadripper 3000-Series "Caslle Peak" | CastlePeakPI-SP3r3 1.0.0.A | 2023 októbere | ? |
Threadripper PRO 3000WX-Series "Castle Peak" | CastlePeakWSPI-sWRX8 1.0.0.C | ChagallWSPI-sWRX8 1.0.0.7 | 2023 novembere és 2023 decembere | ? |
Ryzen 5000 Series Mobile "Lucienne" | CezannePI-FP6_1.0.1.0 | 2023 decembere | ? |
Ryzen 4000 Series Mobile "Renoir" | RenoirPI-FP6_1.0.0.D | 2023 novembere | ? |
Ryzen 7020 Series "Mendocino" | MendocinoPI-FT6_1.0.0.6 | 2023 decembere | ? |
Az egyelőre nem derült ki, hogy az ugyancsak ZEN 2 architektúra köré épülő egyedi SoC egységek, amelyek a Play Station 5, illetve az Xbox Series X és S játékkonzolok, valamint a Steam Deck fedélzetén foglalnak helyet, érintettek-e, és ha igen, mikor érkezik hozzájuk javítás. Az biztos, hogy a javítás valamilyen szinten hatással lesz a teljesítményre, azaz némi lassulást eredményezhet, ám ennek pontos mértékét egyelőre nem közölte az AMD, így csak az első független tesztekből derülhet fény erre.
A Zenbleed sebezhetőségen keresztül az AMD szerint lehetőség van arra, hogy érzékeny információkhoz jusson a támadó, ugyanis a ZEN 2 alapú processzorok esetében egy regiszter esetenként nem kerül átírásra, azaz nem áll 0 állapotba. Ennek köszönhetően előfordulhat, hogy egy másik folyamat vagy szál adatai az YMM regiszterbe kerülnek, amelyekhez a támadó – megfelelően kivitelezett támadás esetén – hozzáférhet. A Google biztonságtechnikai szakembere szerint a hiba miatt a regiszter tartalma nemcsak virtuális gépek alatt, de sandbox környezetben, konténerek esetében, illetve folyamatok esetében is elérhető, azaz teljesen mindegy, mihez tartozik az adat, a támadó hozzáférhet.
A kiaknázásához először egy XMM Register Merge Optimization2 nevű folyamatnak kell elindulnia, majd egy regiszter átnevezésre és egy hibásan megjósolt vzeroupperre van szükség. Ezeknek a folyamatoknak egy pontos időablakon belül kell megtörténniük ahhoz, hogy a sebezhetőség működjön. Mivel azok az alapvető műveletek, mint például az strlen, a memcpy, illetve a strcmp, a vektorregisztereket használják, így hatékonyan lehet kémkedni ezek után a rendszerben bárhol előforduló műveletek után, akármihez is tartozzanak. Ez a stratégia azért működik, mert a regiszter fájl mindennel meg van osztva az adott fizikai processzormagon, lényegében két hyperthread is ugyanazt a fizikai regisztert használja.
Sikeres támadás esetén az adatok kinyerése elég gyorsan történhet: magonként 30 KB-nyi adat lopható el másodpercenként, azaz elég nagy mennyiségben lehet érzékeny adathoz jutni. Ahogy fentebb említettük, lényegében mindegy, milyen folyamat fut az adott processzormagon, ami elég nagy probléma, hiszen így a felhős szolgáltatásokat futtató szerverek is elég nagy veszélyben vannak.
Az alábbi táblázatok megmutatják, az egyes processzorokhoz milyen AGESA mikrokód készül, illetve az mikor válik elérhetővé az OEM partnerek, vagyis az alaplapgyártók számára. A kész BIOS-ok majd csak ezután készülhetnek el, azaz sok esetben még jó néhány hónapot várhatunk rájuk.
A Zenbleed bug által érintett asztali processzorok listája
Ryzen 3 3100 | ComboAM4v2PI_1.2.0.C | ComboAM4PI_1.0.0.C | 2023 december |
Ryzen 3 3300X | ComboAM4v2PI_1.2.0.C | ComboAM4PI_1.0.0.C | 2023 december |
Ryzen 3 4100 | ComboAM4v2PI_1.2.0.C | 2023 november |
Ryzen 3 4300G | ComboAM4v2PI_1.2.0.C | 2023 december |
Ryzen 3 4300GE | ComboAM4v2PI_1.2.0.C | 2023 december |
Ryzen 4700S | ComboAM4v2PI_1.2.0.C | 2023 november |
Ryzen 5 3500 | ComboAM4v2PI_1.2.0.C | ComboAM4PI_1.0.0.C | 2023 december |
Ryzen 5 3500X | ComboAM4v2PI_1.2.0.C | ComboAM4PI_1.0.0.C | 2023 december |
Ryzen 5 3600 | ComboAM4v2PI_1.2.0.C | ComboAM4PI_1.0.0.C | 2023 december |
Ryzen 5 3600X | ComboAM4v2PI_1.2.0.C | ComboAM4PI_1.0.0.C | 2023 december |
Ryzen 5 3600XT | ComboAM4v2PI_1.2.0.C | ComboAM4PI_1.0.0.C | 2023 december |
Ryzen 5 4500 | ComboAM4v2PI_1.2.0.C | 2023 november |
Ryzen 5 4600G | ComboAM4v2PI_1.2.0.C | 2023 december |
Ryzen 5 4600GE | ComboAM4v2PI_1.2.0.C | 2023 december |
Ryzen 7 3700X | ComboAM4v2PI_1.2.0.C | ComboAM4PI_1.0.0.C | 2023 december |
Ryzen 7 3800X | ComboAM4v2PI_1.2.0.C | ComboAM4PI_1.0.0.C | 2023 december |
Ryzen 7 3800XT | ComboAM4v2PI_1.2.0.C | ComboAM4PI_1.0.0.C | 2023 december |
Ryzen 7 4700G | ComboAM4v2PI_1.2.0.C | 2023 december |
Ryzen 7 4700GE | ComboAM4v2PI_1.2.0.C | 2023 december |
Ryzen 9 3900 | ComboAM4v2PI_1.2.0.C | ComboAM4PI_1.0.0.C | 2023 december |
Ryzen 9 3900X | ComboAM4v2PI_1.2.0.C | ComboAM4PI_1.0.0.C | 2023 december |
Ryzen 9 3900XT | ComboAM4v2PI_1.2.0.C | ComboAM4PI_1.0.0.C | 2023 december |
Ryzen 9 3950X | ComboAM4v2PI_1.2.0.C | ComboAM4PI_1.0.0.C | 2023 december |
Ryzen Threadripper 3960X | CastlePeakWSPI-sWRX8 1.0.0.C | ChagallWSPI-sWRX8 1.0.0.9 | 2023 november és 2023 december |
Ryzen Threadripper 3970X | CastlePeakWSPI-sWRX8 1.0.0.C | ChagallWSPI-sWRX8 1.0.0.8 | 2023 november és 2023 december |
Ryzen Threadripper 3990X | CastlePeakWSPI-sWRX8 1.0.0.C | ChagallWSPI-sWRX8 1.0.0.7 | 2023 november és 2023 december |
Ryzen Threadripper Pro 3945WX | CastlePeakWSPI-sWRX8 1.0.0.C | ChagallWSPI-sWRX8 1.0.0.13 | 2023 november és 2023 december |
Ryzen Threadripper Pro 3955WX | CastlePeakWSPI-sWRX8 1.0.0.C | ChagallWSPI-sWRX8 1.0.0.12 | 2023 november és 2023 december |
Ryzen Threadripper Pro 3975WX | CastlePeakWSPI-sWRX8 1.0.0.C | ChagallWSPI-sWRX8 1.0.0.10 | 2023 november és 2023 december |
Ryzen Threadripper Pro 3995WX | CastlePeakWSPI-sWRX8 1.0.0.C | ChagallWSPI-sWRX8 1.0.0.11 | 2023 november és 2023 december |
A Zenbleed bug által érintett mobil processzorok listája
Ryzen 3 4300U | RenoirPI-FP6_1.0.0.D | 2023 november |
Ryzen 3 5300U | CezannePI-FP6_1.0.1.0 | Dec 2023 |
Ryzen 3 7320U | MendocinoPI-FT6_1.0.0.6 | Dec 2023 |
Ryzen 5 4500U | RenoirPI-FP6_1.0.0.D | 2023 november |
Ryzen 5 4600H | RenoirPI-FP6_1.0.0.D | 2023 november |
Ryzen 5 4600HS | RenoirPI-FP6_1.0.0.D | 2023 november |
Ryzen 5 4600U | RenoirPI-FP6_1.0.0.D | 2023 november |
Ryzen 5 4680U | RenoirPI-FP6_1.0.0.D | 2023 november |
Ryzen 5 5500U | CezannePI-FP6_1.0.1.0 | Dec 2023 |
Ryzen 5 7520U | MendocinoPI-FT6_1.0.0.6 | Dec 2023 |
Ryzen 7 4700U | RenoirPI-FP6_1.0.0.D | 2023 november |
Ryzen 7 4800U | RenoirPI-FP6_1.0.0.D | 2023 november |
Ryzen 7 4980U | RenoirPI-FP6_1.0.0.D | 2023 november |
Ryzen 7 5700U | CezannePI-FP6_1.0.1.0 | Dec 2023 |
Ryzen 9 4900H | RenoirPI-FP6_1.0.0.D | 2023 november |
Ryzen 9 4800H | RenoirPI-FP6_1.0.0.D | 2023 november |
Ryzen 9 4800HS | RenoirPI-FP6_1.0.0.D | 2023 november |
Ryzen 9 4900HS | RenoirPI-FP6_1.0.0.D | 2023 november |
A Zenbleed bug által érintett szerverprocesszorok listája
EPYC 7232P | RomePI 1.0.0.H | Már elkészült |
EPYC 7252 | RomePI 1.0.0.H | Már elkészült |
EPYC 7262 | RomePI 1.0.0.H | Már elkészült |
EPYC 7272 | RomePI 1.0.0.H | Már elkészült |
EPYC 7282 | RomePI 1.0.0.H | Már elkészült |
EPYC 7302 | RomePI 1.0.0.H | Már elkészült |
EPYC 7302P | RomePI 1.0.0.H | Már elkészült |
EPYC 7352 | RomePI 1.0.0.H | Már elkészült |
EPYC 7402 | RomePI 1.0.0.H | Már elkészült |
EPYC 7402P | RomePI 1.0.0.H | Már elkészült |
EPYC 7452 | RomePI 1.0.0.H | Már elkészült |
EPYC 7502 | RomePI 1.0.0.H | Már elkészült |
EPYC 7502P | RomePI 1.0.0.H | Már elkészült |
EPYC 7532 | RomePI 1.0.0.H | Már elkészült |
EPYC 7542 | RomePI 1.0.0.H | Már elkészült |
EPYC 7552 | RomePI 1.0.0.H | Már elkészült |
EPYC 7642 | RomePI 1.0.0.H | Már elkészült |
EPYC 7662 | RomePI 1.0.0.H | Már elkészült |
EPYC 7702 | RomePI 1.0.0.H | Már elkészült |
EPYC 7702P | RomePI 1.0.0.H | Már elkészült |
EPYC 7742 | RomePI 1.0.0.H | Már elkészült |
EPYC 7F32 | RomePI 1.0.0.H | Már elkészült |
EPYC 7F52 | RomePI 1.0.0.H | Már elkészült |
EPYC 7F72 | RomePI 1.0.0.H | Már elkészült |
EPYC 7H12 | RomePI 1.0.0.H | Már elkészült |
A CVE-2023-20593-as bejegyzés alatt futó sebezhetőség javításához új AGESA mikrokód készül a nem is oly távoli jövőben, ami a konzumerpiaci termékek esetében az adott alaplapgyártón keresztül lesz elérhető. A javítás alkalmazásához tehát BIOS frissítést kell majd elvégezni, ám a RYZEN 3000-es, RYZEN 4000-es, illetve RYZEN 5000-es sorozatú processzorral szerelt rendszerek esetében a friss BIOS-okra még várni kell egy kicsit.