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
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.

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:

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.

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.

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.

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.

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.



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.

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.

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.

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.

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.

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.


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.




Ö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.

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.

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.

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.

