Naplófájlok, riasztások és telemetriai adatok továbbítása adatdiódán keresztül

Tudja meg, hogyan
A helyszíni fordításokhoz mesterséges intelligenciát használunk, és bár törekszünk a pontosságra, nem biztos, hogy mindig 100%-os pontosságúak. Megértését nagyra értékeljük.

CVE-2025-8088 technikai elemzés: WinRAR – tetszőleges fájlírás az ADS-en keresztül

Írta: OPSWAT
Utolsó frissítés:
Ossza meg ezt a bejegyzést

A CVE-2025-8088 egy útvonalátlépési sebezhetőség a WinRAR programban, amely a 7.13-as verziót megelőző verziókat érinti. A sebezhetőség kihasználásával egy speciálisan kialakított archívum képes megkerülni a fájlnév- és útvonal-ellenőrzést az archívum kibontása során, és a támadó által irányított tartalmat írhatja az NTFS-kötet meghatározott helyeire. Bizonyos feltételek mellett ez az írási képesség távoli kódfuttatásra is felhasználható.

Az OPSWAT ösztöndíjprogram ösztöndíjasai elvégezték a CVE-2025-8088 biztonsági rés technikai elemzését. A RAR5 és az NTFS (ADS) működési mechanizmusainak elemzése során nyert eredmények feltárják az adatkinyerési munkafolyamatot és az ADS-kezelési útvonalat, amelyek a nem biztonságos írási műveletekhez vezetnek, valamint összefoglalják a kiberbiztonsági szakemberek és szervezetek számára szóló gyakorlati kockázatcsökkentési és javítási útmutatásokat.

Bevezetés a CVE-2025-8088-hoz

A WinRAR az egyik leggyakrabban használt tömörítőprogram a Windows rendszeren. Támogatja az NTFS-specifikus metaadatok, például az ADS (Alternate Data Streams) megőrzését és visszaállítását. A CVE-2025-8088 biztonsági rés bizonyos WinRAR-verziók ADS-kezelési logikájában található. A sebezhető verziókban egy rosszindulatú archívum befolyásolhatja a kibontás során használt adatfolyam-azonosítót, és mivel az ADS-létrehozási folyamat során az elérési út normalizálása és érvényesítése nem megfelelő, ez lehetővé teszi a könyvtárátjárást.

A CVE-2025-8088 biztonsági rés súlyossági besorolása „magas”, CVSS v4.0 alapszintű pontszáma 8,4 (magas), ami azt jelzi, hogy mérhető biztonsági kockázatot jelenthet, ha egy felhasználó egy sebezhető WinRAR-verzióval kibont egy speciálisan kialakított archívumot.

Műszaki háttér

NTFS alternatív adatfolyamok

Az NTFS (New Technology File System) a Windows modern verzióinak alapértelmezett fájlrendszere. A FAT-alapú fájlrendszerekhez képest az NTFS olyan fejlett funkciókat támogat, mint az ACL-ek (hozzáférési vezérlőlisták), az EFS-titkosítás, a tömörítés, a kemény linkek, az újraértelmezési pontok (csatlakozási pontok és szimbolikus linkek) és az ADS. 

Az ADS egy NTFS-funkció, amely lehetővé teszi, hogy egy fájl vagy könyvtár több egymástól független adatfolyamot tartalmazzon. Az elsődleges, a felhasználó számára látható tartalom a névtelen alapértelmezett adatfolyamban van tárolva, amelyet általában ::$DATA jelöléssel jelölnek, míg a további, megnevezett adatfolyamokhoz a következő szintaxissal lehet hozzáférni: 

filename.ext:streamname 

Ezek a névvel ellátott adatfolyamok általában nem láthatók a Windows Intéző szokásos nézetében, de a fájlrendszer teljes mértékben támogatja őket, és a megfelelő eszközökkel felsorolhatók. Példáula dir/Rparancssegítségével megjeleníthetők az alternatív adatfolyamok. 

A WinRAR támogatja az ADS-szintaxist tartalmazó archívumelemek kibontását. Ha egy archívumban ilyen elemek találhatók, a WinRAR a kibontás során a megfelelő tartalmat a célfájl alternatív adatfolyamába írja. 

A RAR5 fájlszerkezet megértése

A RAR5-típusú archívumok blokkok sorozataként vannak tárolva. Minden blokk egy fejléccel kezdődik, amely meghatározza a blokk típusát és méretét. Opcionálisan tartalmazhat egy kiegészítő metaadat-területet, valamint egy adat-területet, amely a hasznos adatokat, például a tömörített tartalmat tartalmazza.

Blokk = Fejléc + (opcionális kiegészítő terület) + (opcionális adattér)

A RAR5 többféle blokktípust használ. A CVE-ben szereplő releváns blokktípusok a következők:

  • Fájlfejléc (2. típus): Az archívumban található fájlbejegyzést írja le (név/útvonal, attribútumok, időbélyegek, tömörítési paraméterek), amelyet a fájl tényleges adatai követnek
  • Szolgáltatási fejléc (3. típus): Opcionális kiegészítő fejlécek, amelyek az archívumhoz vagy egy adott fájlbejegyzéshez kapcsolódó további metaadatokat tárolnak, például ADS-t

Az NTFS fájlrendszerben az ADS-eket egy STM néven ismert szolgáltatásfejléc (3. típus) jelöli. A szolgáltatásfejléc adatterülete tartalmazza az alapfájlbejegyzéshez tartozó ADS-adatfolyam bájtjait.

Egyszerűsítve:

1. ábra: ADS az NTFS fájlrendszerben

Műszaki elemzés (CVE-2025-8088)

RAR5-fájlok kibontásának folyamata

A WinRAR a RAR5-archívumokat blokksorozatként kezeli. A kicsomagolás során végigfut ezeken a blokkokon, elemzi az egyes blokkfejléceket, és a beágyazott CRC32 segítségével ellenőrzi a fejlécek integritását, mielőtt továbbhaladna. Egy fájlbejegyzés feldolgozása után a WinRAR kicsomagolja és a lemezre írja az alapfájl tartalmát, majd eldönti, hogy a kapcsolódó szolgáltatási rekordok révén további NTFS-hez kapcsolódó metaadatokat kell-e alkalmazni. Ha van ADS (Alternate Data Stream) rekord, például STM szolgáltatási bejegyzés, a WinRAR belép az ADS-kezelési útvonalba, egyesíti az alapfájl útvonalát a stream nevével az ADS cél létrehozásához, majd létrehozza a streamet. 

2. ábra: Az elemzés során rekonstruált, magas szintű adatkinyerési folyamat, beleértve az ADS-kezelő ágot is.

A CVE-2025-8088 esetében a probléma alapvető oka az, hogy az ADS-folyam létrehozása a Windows API () függvényét hívja meg az archívum által kezelt metaadatokból származtatott elérési út használatával, ami miatt az ADS-elérési út kialakítása és érvényesítése nem elegendő az elérési út átlépésének megakadályozásához.

Az ADS („STM”) kódútvonal azonosítása

Posztgraduális ösztöndíjasaink a WinRAR 7.12 szoftver segítségével statikus és dinamikus elemzéseket végeztek ellenőrzött laboratóriumi környezetben. A bináris fájlban az „STM” szolgáltatásjelzőt keresve azonosították az ADS-hez kapcsolódó logikát, majd futásidőben megerősítették a kinyerési oldali kódútvonalat.

3. ábra. Két kódhely, amely az „STM” karakterláncra hivatkozik, és az ADS-hez kapcsolódó feldolgozás azonosítására szolgál.

Miután egy ADS-adatokat tartalmazó archívum kibontása során az „STM” hivatkozásra töréspontot állítottunk be, a töréspontot minden alkalommal elérte a program, ami igazolta, hogy ez a végrehajtási útvonal a szokásos kibontási munkafolyamat során is meghívásra kerül.

4. ábra: Dinamikus elemzés: töréspont az ADS feldolgozási útvonalán.

A megszakítási pont elérésekor a hibakereső hívási verem segítségével rekonstruáltuk a WinRAR felhasználói felületén az „Extract” művelet után meghívott függvények sorrendjét, ezzel egyértelmű kiindulási pontot teremtve a későbbi blokkfeldolgozáshoz és az ADS végrehajtási útvonalához.

5. ábra: A WinRAR kicsomagolásának elindítása után visszanyert hívássorozat, amely az ADS kódútvonal azonosításához szolgált.

Fejléc-elemzés és CRC32-ellenőrzés

A WinRAR az egyes RAR5-blokkokat úgy dolgozza fel, hogy beolvassa a blokkfejléceket, ellenőrzi az integritási mezőket, majd a blokktípusnak megfelelő feldolgozóhoz továbbítja azokat. A blokkfeldolgozás belépési pontját és a hozzá tartozó fejlécek elemzésének logikáját a 6–10. ábrák szemléltetik: a WinRAR az aktuális blokk eltolási pontjára állítja a fájlmutatót, beolvassa a kezdeti fejlécbájtokat – amelyek tartalmazzák a fejléc típusát és méretét –, majd a folytatás előtt CRC32 segítségével ellenőrzi a fejléc integritását.

A sikeres érvényesítés után a program feldolgozza a további fejlécmezőket, például a jelzőket, a kicsomagolt méretet, a tömörítési módszert és az opcionális ellenőrző összegeket. Ezután feldolgozza a blokk tartalmát.

6. ábra: A blokkfeldolgozás belépési pontja a kivonás során.
7. ábra: Az archív fájlmutató beállítása és a fejléc elemzésének megkezdése.
8. ábra: A fejléc kezdeti bájtjainak elemzése és a fejléc CRC32-es ellenőrzőszámának ellenőrzése.

A visszafejtés során megfigyelhető volt, hogy a CRC32-rutin viselkedése összhangban áll a szabványos, zlib-stílusú CRC32-megvalósítással. Gyakorlatilag ez a CRC32-ellenőrzés integritás-ellenőrzőként szolgál. Ha a fejlécmezőket módosítják, a beágyazott CRC32-értéket frissíteni kell ahhoz, hogy a WinRAR elfogadja a fejlécet és folytassa a feldolgozást.

9. ábra: Az integritás-ellenőrzés során használt CRC32-megvalósítás részletei (táblázatalapú).

A CRC32 fejléc ellenőrzése után az elemző folytatja a feldolgozást, és kibontja a fennmaradó fejlécadatokat, például a kibontott méretet, a tömörítési módszert és egyéb tulajdonságokat.

10. ábra: További fejlécmezők (méretek, jelzők, tömörítési módszer és opcionális ellenőrző összegek) elemzése.

A fejléc elemzése és érvényesítése után a WinRAR az elemzett fejléc típusának és jelzőinek megfelelően dolgozza fel a blokk tartalmát.

11. ábra: Ciklus, amely a kibontás során kicsomagolja és kiírja a fájl tartalmát.

A CVE-2025-8088 esetében a fejléc integritásának ellenőrzése még azelőtt megtörténik, hogy a WinRAR átadná az ADS-rekordokat feldolgozó Service blokk-kezelőnek.

Hirdetéskészítés a Service blokk („STM”) segítségével

Az ADS-feldolgozási útvonal akkor kerül meghívásra, amikor a WinRAR egy Service blokkra bukkan. A Service blokkok a 3-as blokktípus-értéket használják. Amikor a WinRAR egy Service blokkot észlel, azt egy service-header kezelőhöz továbbítja.

12. ábra: ADS-rekordokat hordozó diszpécserszolgáltatási blokkok (3. típus).

A szolgáltatáskezelőn belül a WinRAR ellenőrzi a szolgáltatás nevét. Ha a szolgáltatás neve megegyezik az „STM” karakterlánccal, a rendszer a rekordot ADS-adatcsomagként kezeli, és a program egy ADS-létrehozási rutinba vált át.

13. ábra. Szolgáltatási bejegyzés továbbítása: ha a szolgáltatás neve megegyezik az „STM” kifejezéssel, a WinRAR elindítja az ADS-létrehozást.

A WinRAR ezután lekérdezi a stream nevét a szolgáltatási rekordból, és ezt az alapfájl elérési útjával egyesíti a végleges ADS-cél létrehozásához. A 7.13-as verziót megelőző verziókban az elemzés azt mutatja, hogy a stream neve nem kerül kellőképpen tisztításra, ami lehetővé teszi, hogy a tranzitív szekvenciák befolyásolják a kapott célelérési út feloldását.

14. ábra: Az ADS-adatfolyam nevének lekérése a szolgáltatási rekordból.
15. ábra. Az alapútvonal és a streamnév összekapcsolása az ADS-útvonal kialakításához.

A cél létrehozása után a WinRAR egy segédrutin segítségével hozza létre az adatfolyamot, amely a Windows CreateFileW API hívja meg, majd a WriteFile függvény segítségével írja be az ADS-bájtokat. Ha a feloldott elérési út a felhasználó által kiválasztott kibontási könyvtáron kívül esik, a WinRAR létrehozza a céladatfolyamot/célfájlt, és azt a támadó által irányított tartalommal tölti meg.

16. ábra: Az a hívási pont, amely az adatkinyerés során elindítja az ADS létrehozását.
17. ábra. ADS-létrehozási segédprogram, amely a fájl létrehozási rutinjára hivatkozik.
18. ábra. API Windows API függvénye az ADS-adatfolyam létrehozásához a megadott elérési úttal hívva meg.
19. ábra: A támadó által ellenőrzött ADS-tartalom beírása az újonnan létrehozott adatfolyamba a WriteFile függvény segítségével.

Összefoglalva: az ADS-kivonási munkafolyamat két biztonsági szempontból releváns problémát tár fel. Először is, az ADS-adatfolyam neve nem kerül kellőképpen tisztításra, ami lehetővé teszi, hogy a karakterlánc-átlépési műveletek befolyásolják a kapott célútvonalat. Másodszor, a WinRAR az ADS-adatfolyamot úgy hozza létre, hogy a CreateFileW() függvényt az archívum által vezérelt metaadatokból származó útvonal megadásával hívja meg.

Ezek a feltételek együttesen lehetővé teszik, hogy egy speciálisan kialakított archívum a CreateFileW() parancs célját a tervezett kibontási könyvtáron kívülre irányítsa, és a támadó által ellenőrzött tartalmat egy általa befolyásolt helyre írja. Ha a cél egy perzisztenciával kapcsolatos könyvtár (például a felhasználó Startup mappája), ez az írási művelet – a hasznos teher típusától és a rendszerkonfigurációtól függően – lehetővé teheti a kód későbbi végrehajtását a következő bejelentkezéskor vagy újraindításkor.

Támadási forgatókönyv

A CVE-2025-8088 sebezhetőséget gyakorlatilag olyan esetekben lehet kihasználni, amikor a támadó ráveszi a felhasználót, hogy egy sebezhető WinRAR-verzióval kicsomagoljon egy speciálisan kialakított RAR-archívumot. A támadás tipikus terjesztési módja a szociális manipuláció, például az adathalászat, amelynek hatására az áldozat megbízik a rosszindulatú archívumban, és elindítja annak kicsomagolását egy kritikus rendszeren.

Az archívum tartalmaz egy ADS („STM”) szolgáltatási rekordot. A stream neve úgy van kialakítva, hogy átjárási szemantikát vezessen be. NTFS-rendszeren történő kibontáskor a WinRAR feldolgozza az ADS-rekordot, és az archívum által vezérelt metaadatokból levezeti a cél stream elérési útját. Mivel ez az ADS-útvonal kialakítása nem elég szigorúan korlátozott, a meghatározott célhely a felhasználó által kiválasztott kibontási könyvtáron kívülre eshet, beleértve olyan kritikus helyeket is, mint például a felhasználó indítási mappája.

20. ábra: A támadás teljes folyamata: kiszállítás, adatkinyerés a sebezhető WinRAR-on keresztül, valamint a rendszerindítási mappán keresztüli állandósítás.

Koncepció igazolása

A CVE-2025-8088 bizonyítására posztgraduális ösztöndíjasaink egy speciálisan kialakított RAR-archívumfájlt készítettek, amely egy támadó által ellenőrzött mezőket tartalmazó ADS („STM”) szolgáltatási rekordot tartalmaz. Az archívum felépítése olyan ADS-adatfolyam-nevet tartalmaz, amely átjárási szekvenciákat tartalmaz. Ez a felépítés befolyásolja a végső célhelyet az ADS-kezelés során, beleértve a CreateFileW()-nek átadott elérési utat is, amikor a stream létrehozásra kerül. Annak biztosítására, hogy a WinRAR elfogadja a módosított metaadatokat és elérje az ADS-feldolgozási elérési utat, a vonatkozó fejléc CRC32 értékei újraszámításra kerülnek, így az archívum átmegy a fejléc integritásának ellenőrzésén. 

21. ábra. Példa a támadó által irányított mezőkre egy olyan, az ADS-útvonal meghatározásához használt, manipulált archívumon belül.

Ha egy sebezhető WinRAR-verzió a manipulált archívum kibontása során belép az ADS-feldolgozási rutinba, akkor a támadó által irányított tartalmat nem a felhasználó által kiválasztott kibontási könyvtárba, hanem az előre kiválasztott célhelyre írja. A kibontás után a hasznos teher végrehajtását annak formátuma és az előre kiválasztott célhely végrehajtási szabályai határozzák meg. Ilyen helyek lehetnek például azok, amelyek a következő bejelentkezéskor vagy újraindításkor hajthatják végre a tartalmat.

22. ábra. Koncepcióbizonyító bemutató: a sebezhető kinyerési útvonalon keresztül a Startup fájlba írt hasznos adat.

Helyreállítás

A CVE-2025-8088 biztonsági rés kockázata úgy csökkenthető, hogy a WinRAR szoftvert minden felügyelt végponton frissítik egy javított verzióra (7.13 vagy újabb). Ha az azonnali frissítés nem lehetséges, akkor pótló intézkedéseket kell fontolóra venni, például:

  • Az ADS-megőrzés korlátozása vagy letiltása az archiváló eszközökben, ha az nem szükséges
  • A megbízhatatlan archívumok kibontásának korlátozása elszigetelt környezetekre
  • A legkisebb jogosultság elvének betartása (kerülje az adatkinyerő eszközök rendszergazdai jogosultsággal történő futtatását)
  • A kritikus könyvtárak – például az indítási könyvtárak – figyelemmel kísérése az archívum-kicsomagolási munkafolyamatokból származó váratlan írási műveletek észlelése érdekében

vulnerability detection korai vulnerability detection a gyors javítás érdekében MetaDefender támogatja a sürgős javítási műveleteket azáltal, hogy azonosítja a sebezhető WinRAR-verziókat futtató eszközöket, és kiemeli a szükséges frissítéseket. A több mint 1100 alkalmazást támogató, robusztus sebezhetőség- és javításkezelési funkciói proaktív módon azonosítják azokat a végpontokat, amelyek nem frissített vagy elavult operációs rendszereket és harmadik féltől származó alkalmazásokat futtatnak, és javaslatokat nyújtanak a javításokra.

A Vulnerability Management lehetővé teszi a rendszergazdák számára, hogy gyorsan felismerjék a biztonsági réseket, rangsorolják a javításokat, és elősegítsék a frissítéseket a javított verzióra, ezzel csökkentve az archívumalapú fájlírási támadások – például a CVE-2025-8088 – és a hasonló végpontalapú fenyegetések kockázatát.

23. ábra. MetaDefender Endpoint a sebezhető WinRAR-t, és javasolja a javított verzióra való frissítést.

Maradjon naprakész az OPSWAT oldalon!

Iratkozzon fel még ma, hogy értesüljön a vállalat legfrissebb híreiről, történetekről, eseményinformációkról és sok másról.