Tudjon meg többet Benny Czarny „Cybersecurity Upside Down” című könyvéről

Bővebben
A nem angol nyelvű oldalak fordításokhoz AI-t használunk, és bár törekszünk a pontosságra, nem biztos, hogy mindig 100%-os az eredmény. 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

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.

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

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.

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

Műszaki háttér

NTFS alternatív adatfolyamok

NTFS (New Technology File System) is the default filesystem for modern versions of Windows. Compared to FAT-based filesystems, NTFS supports advanced capabilities including ACLs (access control lists), EFS encryption, compression, hard links, reparse points (junctions and symlinks), and ADS.

ADS is an NTFS feature that allows a single file or directory to contain multiple independent streams of data. The primary, user-visible content is stored in the unnamed default stream, commonly represented as ::$DATA, while additional named streams can be accessed using the syntax:

filename.ext:streamname

These named streams are not normally visible in standard Windows Explorer views, but they are fully supported by the filesystem and can be enumerated using supported tooling. For instance, dir /R can display alternate streams.

WinRAR supports extracting archive entries that include ADS syntax. When such entries exist within an archive, WinRAR writes the corresponding content into the target file’s alternate stream during extraction.

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

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:

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

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

RAR5-fájlok kibontásának folyamata

WinRAR processes RAR5 archives as a sequence of blocks. During extraction, it iterates over these blocks, parses each block header, and validates header integrity using the embedded CRC32 before continuing. After a file entry is processed, WinRAR decompresses and writes the base file content to the disk, then determines whether additional NTFS-related metadata must be applied via associated service records. When an ADS (Alternate Data Stream) record is present, such as an STM service entry, WinRAR enters the ADS-handling path, combines the base file path with the stream name to form the ADS target, and creates the stream.

CVE-2025-8088 technikai elemzés: WinRAR – tetszőleges fájlírás az ADS-en keresztül
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.

CVE-2025-8088 technikai elemzés: WinRAR – tetszőleges fájlírás az ADS-en keresztül
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.

CVE-2025-8088 technikai elemzés: WinRAR – tetszőleges fájlírás az ADS-en keresztü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.

CVE-2025-8088 technikai elemzés: WinRAR – tetszőleges fájlírás az ADS-en keresztül
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.

CVE-2025-8088 technikai elemzés: WinRAR – tetszőleges fájlírás az ADS-en keresztül
6. ábra: A blokkfeldolgozás belépési pontja a kivonás során.
CVE-2025-8088 technikai elemzés: WinRAR – tetszőleges fájlírás az ADS-en keresztül
7. ábra: Az archív fájlmutató beállítása és a fejléc elemzésének megkezdése.
CVE-2025-8088 technikai elemzés: WinRAR – tetszőleges fájlírás az ADS-en keresztül
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.

CVE-2025-8088 technikai elemzés: WinRAR – tetszőleges fájlírás az ADS-en keresztül
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.

CVE-2025-8088 technikai elemzés: WinRAR – tetszőleges fájlírás az ADS-en keresztül
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.

CVE-2025-8088 technikai elemzés: WinRAR – tetszőleges fájlírás az ADS-en keresztül
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.

CVE-2025-8088 technikai elemzés: WinRAR – tetszőleges fájlírás az ADS-en keresztül
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.

CVE-2025-8088 technikai elemzés: WinRAR – tetszőleges fájlírás az ADS-en keresztül
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.

CVE-2025-8088 technikai elemzés: WinRAR – tetszőleges fájlírás az ADS-en keresztül
14. ábra: Az ADS-adatfolyam nevének lekérése a szolgáltatási rekordból.
CVE-2025-8088 technikai elemzés: WinRAR – tetszőleges fájlírás az ADS-en keresztü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.

CVE-2025-8088 technikai elemzés: WinRAR – tetszőleges fájlírás az ADS-en keresztül
16. ábra: Az a hívási pont, amely az adatkinyerés során elindítja az ADS létrehozását.
CVE-2025-8088 technikai elemzés: WinRAR – tetszőleges fájlírás az ADS-en keresztül
17. ábra. ADS-létrehozási segédprogram, amely a fájl létrehozási rutinjára hivatkozik.
CVE-2025-8088 technikai elemzés: WinRAR – tetszőleges fájlírás az ADS-en keresztül
18. ábra. API Windows API függvénye az ADS-adatfolyam létrehozásához a megadott elérési úttal hívva meg.
CVE-2025-8088 technikai elemzés: WinRAR – tetszőleges fájlírás az ADS-en keresztül
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.

CVE-2025-8088 technikai elemzés: WinRAR – tetszőleges fájlírás az ADS-en keresztül
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

To demonstrate CVE-2025-8088, our graduate fellows prepared a crafted RAR archive file containing an ADS (“STM”) service record with attacker-controlled fields. This archive is structured with an ADS stream name that includes traversal sequences. This structure influences the final target location during ADS handling, including the path passed to CreateFileW() when the stream is created. To ensure that WinRAR accepts the modified metadata and reaches the ADS-processing path, the relevant header CRC32 values are recomputed so the archive passes header integrity validation.

CVE-2025-8088 technikai elemzés: WinRAR – tetszőleges fájlírás az ADS-en keresztül
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.

CVE-2025-8088 technikai elemzés: WinRAR – tetszőleges fájlírás az ADS-en keresztül
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.

CVE-2025-8088 technikai elemzés: WinRAR – tetszőleges fájlírás az ADS-en keresztül
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!

Sign up today to receive the latest company updates, stories, event info, and more.