Află mai multe despre cartea lui Benny Czarny, „Cybersecurity Upside Down”

Aflați mai mult
Utilizăm inteligența artificială pentru traducerile site-urilor și, deși ne străduim să fim exacți, este posibil ca acestea să nu fie întotdeauna 100% precise. Apreciem înțelegerea dumneavoastră.

Analiză tehnică CVE-2025-8088: Scriere arbitrară de fișiere în WinRAR prin intermediul ADS

De OPSWAT

CVE-2025-8088 este o vulnerabilitate de tip „path traversal” în WinRAR care afectează versiunile anterioare versiunii 7.13. Exploatarea acestei vulnerabilități permite unui fișier arhivat special creat să ocolească validarea numelor de fișiere și a căilor de acces în timpul extragerii arhivei și să determine scrierea de conținut controlat de atacator în anumite locații de pe un volum NTFS. În anumite condiții, această capacitate de scriere poate fi utilizată pentru executarea de cod de la distanță.

Bursierii din cadrul Programului de burse OPSWAT au realizat o analiză tehnică a vulnerabilității CVE-2025-8088. Concluziile acestei analize a mecanismelor RAR5 și NTFS (ADS) urmăresc fluxul de lucru al extragerii și calea de gestionare a ADS care duc la operațiuni de scriere nesigure și prezintă recomandări practice de atenuare și remediere destinate specialiștilor în securitate cibernetică și organizațiilor.

Analiză tehnică CVE-2025-8088: Scriere arbitrară de fișiere în WinRAR prin intermediul ADS

Introducere în CVE-2025-8088

WinRAR este unul dintre cele mai utilizate programe de arhivare pe Windows. Acesta permite păstrarea și restaurarea metadatelor specifice sistemului de fișiere NTFS, precum ADS (Alternate Data Streams). Vulnerabilitatea CVE-2025-8088 este prezentă în logica de gestionare a fluxurilor ADS a anumitor versiuni WinRAR. În versiunile vulnerabile, o arhivă rău intenționată poate modifica identificatorul fluxului utilizat în timpul extragerii, iar normalizarea și validarea necorespunzătoare a căilor de acces în cadrul procesului de creare a fluxurilor ADS permit traversarea directorului.

CVE-2025-8088 este considerată o vulnerabilitate cu grad ridicat de gravitate, având un scor de bază CVSS v4.0 de 8,4 (Ridicat), ceea ce reflectă potențialul unui impact semnificativ asupra securității în cazul în care un utilizator extrage un fișier arhivat special creat folosind o versiune vulnerabilă a programului WinRAR.

Analiză tehnică CVE-2025-8088: Scriere arbitrară de fișiere în WinRAR prin intermediul ADS

Context tehnic

Fluxuri de date alternative NTFS

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:

numele_fișierului.ext:numele_fluxului

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.

Analiză tehnică CVE-2025-8088: Scriere arbitrară de fișiere în WinRAR prin intermediul ADS

Înțelegerea structurii fișierelor RAR5

Arhivele RAR5 sunt stocate sub forma unei secvențe de blocuri. Fiecare bloc începe cu un antet care conține informații despre tipul și dimensiunea blocului. Acesta poate include, opțional, o zonă suplimentară de metadate și o zonă de date formată din octeți de conținut, cum ar fi conținutul comprimat.

Bloc = Antet + (zonă suplimentară opțională) + (zonă de date opțională)

RAR5 utilizează mai multe tipuri de blocuri. Tipurile de blocuri relevante în CVE sunt:

  • Antet de fișier (tip 2): descrie o intrare de fișier din arhivă (nume/cale, atribute, marcaje temporale, parametri de compresie) și este urmat de datele propriu-zise ale fișierului
  • Antet de serviciu (tip 3): antete suplimentare opționale care stochează metadate suplimentare asociate arhivei sau unei intrări de fișier specifice, cum ar fi ADS

În sistemul de fișiere NTFS, ADS-urile sunt reprezentate de un antet de serviciu (tip 3), denumit STM. Zona de date a antetului de serviciu conține octeții fluxului ADS corespunzători intrării fișierului de bază.

Pe scurt:

Analiză tehnică CVE-2025-8088: Scriere arbitrară de fișiere în WinRAR prin intermediul ADS
Figura 1. ADS în sistemul de fișiere NTFS

Analiză tehnică (CVE-2025-8088)

Fluxul de lucru pentru extragerea fișierelor RAR5

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.

Analiză tehnică CVE-2025-8088: Scriere arbitrară de fișiere în WinRAR prin intermediul ADS
Figura 2. Schema generală a fluxului de extracție reconstituită în timpul analizei, incluzând ramura de gestionare a ADS.

În cazul vulnerabilității CVE-2025-8088, cauza principală este faptul că procesul de creare a fluxurilor ADS apelează funcția API Windows API () utilizând o cale derivată din metadatele controlate de arhivă, ceea ce face ca procesul de construire/validare a căii ADS să fie insuficient pentru a împiedica traversarea.

Identificarea traseului codului ADS („STM”)

Cercetătorii noștri au efectuat o serie de analize statice și dinamice într-un mediu de laborator controlat, utilizând WinRAR 7.12. Aceștia au identificat logica legată de ADS prin căutarea markerului de serviciu „STM” în fișierul binar și au confirmat apoi calea codului din partea de extragere în timpul rulării.

Analiză tehnică CVE-2025-8088: Scriere arbitrară de fișiere în WinRAR prin intermediul ADS
Figura 3. Două locații din cod care fac referire la șirul „STM”, utilizat pentru identificarea operațiunilor legate de ADS.

Prin plasarea unui punct de întrerupere la referința „STM” întâlnită în timpul extragerii unei arhive care conține date ADS, punctul de întrerupere a fost activat în mod constant, confirmând faptul că această cale de execuție este invocată în cadrul fluxului normal de lucru de extragere.

Analiză tehnică CVE-2025-8088: Scriere arbitrară de fișiere în WinRAR prin intermediul ADS
Figura 4. Analiză dinamică: atingerea unui punct de întrerupere în calea de procesare ADS.

La atingerea punctului de întrerupere, stiva de apeluri a depanatorului a fost utilizată pentru a reconstitui secvența funcțiilor invocate după acțiunea „Extract” din interfața WinRAR, stabilind un punct de referință clar pentru procesarea în bloc a etapelor ulterioare și pentru calea de execuție a ADS.

Analiză tehnică CVE-2025-8088: Scriere arbitrară de fișiere în WinRAR prin intermediul ADS
Figura 5. Secvența de apeluri recuperată după lansarea procesului de extragere WinRAR, utilizată pentru identificarea traseului codului ADS.

Analiza antetului și validarea CRC32

WinRAR procesează fiecare bloc RAR5 citind antetul blocului, validând câmpurile de integritate și redirecționând către un handler specific tipului de bloc. Punctul de intrare pentru procesarea blocurilor și logica de analiză a antetului asociată sunt prezentate în figurile 6-10, unde WinRAR setează indicatorul de fișier la poziția curentă a blocului, citește octeții inițiali ai antetului, care includ tipul și dimensiunea antetului, și validează integritatea antetului folosind CRC32 înainte de a continua.

După validarea cu succes, acesta analizează câmpurile suplimentare din antet, precum indicatorii, dimensiunea după decompresie, metoda de compresie și sumele de control opționale. Apoi, procesează corpul blocului.

Analiză tehnică CVE-2025-8088: Scriere arbitrară de fișiere în WinRAR prin intermediul ADS
Figura 6. Punctul de intrare pentru procesarea blocurilor în timpul extracției.
Analiză tehnică CVE-2025-8088: Scriere arbitrară de fișiere în WinRAR prin intermediul ADS
Figura 7. Setarea indicatorului fișierului de arhivă și trecerea la analizarea antetului.
Analiză tehnică CVE-2025-8088: Scriere arbitrară de fișiere în WinRAR prin intermediul ADS
Figura 8. Analiza octeților inițiali ai antetului și validarea CRC32 a antetului.

În timpul procesului de inginerie inversă, s-a observat că rutina CRC32 se comportă în conformitate cu o implementare standard CRC32 de tip zlib. Practic, această verificare CRC32 funcționează ca un filtru de integritate. Dacă câmpurile antetului sunt modificate, CRC32-ul încorporat trebuie actualizat pentru a se asigura că WinRAR acceptă antetul și continuă procesarea.

Analiză tehnică CVE-2025-8088: Scriere arbitrară de fișiere în WinRAR prin intermediul ADS
Figura 9. Detalii privind implementarea CRC32 (bazată pe tabele) utilizată în timpul verificării integrității.

După validarea antetului CRC32, analizatorul continuă prin extragerea celorlalte informații din antet, precum dimensiunea fișierului decomprimat, metoda de compresie și alte atribute.

Analiză tehnică CVE-2025-8088: Scriere arbitrară de fișiere în WinRAR prin intermediul ADS
Figura 10. Analiza câmpurilor suplimentare din antet (dimensiuni, indicatori, metoda de compresie și sumele de control opționale).

După finalizarea analizării și validării antetului, WinRAR procesează corpul blocului în funcție de tipul antetului analizat și de indicatori.

Analiză tehnică CVE-2025-8088: Scriere arbitrară de fișiere în WinRAR prin intermediul ADS
Figura 11. Buclă care decomprimă și scrie conținutul fișierului în timpul extragerii.

În cazul vulnerabilității CVE-2025-8088, validarea integrității antetului are loc înainte ca WinRAR să transmită datele către modulul de gestionare a blocurilor de servicii care procesează înregistrările ADS.

Crearea de anunțuri publicitare prin intermediul blocului de servicii („STM”)

Calea de procesare ADS este activată atunci când WinRAR întâlnește un bloc de serviciu. Blocurile de serviciu utilizează valoarea de tip bloc 3. Atunci când este detectat un bloc de serviciu, WinRAR îl transmite către un handler pentru antetul de serviciu.

Analiză tehnică CVE-2025-8088: Scriere arbitrară de fișiere în WinRAR prin intermediul ADS
Figura 12. Blocuri ale serviciului de dispecerizare (tip 3), care pot transporta înregistrări ADS.

În cadrul modulului de gestionare a serviciilor, WinRAR verifică numele serviciului. Atunci când numele serviciului corespunde cu „STM”, înregistrarea este tratată ca o sarcină utilă ADS, iar implementarea trece la o rutină de creare ADS.

Analiză tehnică CVE-2025-8088: Scriere arbitrară de fișiere în WinRAR prin intermediul ADS
Figura 13. Trimiterea înregistrării serviciului: atunci când numele serviciului corespunde cu „STM”, WinRAR inițiază crearea ADS.

WinRAR preia apoi numele fluxului din înregistrarea serviciului și îl combină cu calea de bază a fișierului pentru a construi ținta ADS finală. În versiunile anterioare versiunii 7.13, analiza arată că numele fluxului nu este suficient de curățat, ceea ce permite secvențelor de traversare să influențeze rezolvarea căii țintă rezultate.

Analiză tehnică CVE-2025-8088: Scriere arbitrară de fișiere în WinRAR prin intermediul ADS
Figura 14. Preluarea numelui fluxului ADS din înregistrarea serviciului.
Analiză tehnică CVE-2025-8088: Scriere arbitrară de fișiere în WinRAR prin intermediul ADS
Figura 15. Combinarea căii de bază cu numele fluxului pentru a forma o cale ADS.

După crearea țintei, WinRAR generează fluxul prin intermediul unei rutine auxiliare care apelează API CreateFileW al Windows, apoi scrie octeții ADS folosind WriteFile. Dacă calea rezultată se află în afara directorului de extragere selectat de utilizator, WinRAR va crea fluxul/fișierul de destinație și îl va umple cu conținut controlat de atacator.

Analiză tehnică CVE-2025-8088: Scriere arbitrară de fișiere în WinRAR prin intermediul ADS
Figura 16. Locul de apel care inițiază crearea ADS în timpul extracției.
Analiză tehnică CVE-2025-8088: Scriere arbitrară de fișiere în WinRAR prin intermediul ADS
Figura 17. Funcție auxiliară pentru crearea ADS care deleagă sarcina rutinei de creare a fișierului.
Analiză tehnică CVE-2025-8088: Scriere arbitrară de fișiere în WinRAR prin intermediul ADS
Figura 18. Funcția API Windows, apelată cu calea generată pentru a crea fluxul ADS.
Analiză tehnică CVE-2025-8088: Scriere arbitrară de fișiere în WinRAR prin intermediul ADS
Figura 19. Scrierea conținutului ADS controlat de atacator în fluxul nou creat prin intermediul funcției WriteFile.

Pe scurt, fluxul de lucru pentru extragerea ADS prezintă două vulnerabilități de securitate. În primul rând, numele fluxului ADS nu este suficient de curățat, ceea ce permite secvențelor de traversare să influențeze calea țintă rezultată. În al doilea rând, WinRAR creează fluxul ADS prin apelarea funcției CreateFileW() cu o cale derivată din metadatele controlate de arhivă.

Împreună, aceste condiții permit unei arhive special create să redirecționeze destinația funcției CreateFileW() în afara directorului de extragere prevăzut și să scrie conținut controlat de atacator într-o locație influențată de acesta. Dacă destinația este un director relevant pentru persistență (de exemplu, folderul „Startup” al utilizatorului), această operațiune de scriere poate permite executarea de cod ulterior la următoarea autentificare sau repornire a sistemului, în funcție de tipul de încărcătură utilă și de configurația sistemului.

Scenariu de atac

Vulnerabilitatea CVE-2025-8088 poate fi exploatată în practică în situațiile în care un atacator determină un utilizator să extragă o arhivă RAR special creată folosind o versiune vulnerabilă a programului WinRAR. Un vector tipic de atac este ingineria socială, cum ar fi phishingul, care determină victima să aibă încredere într-o arhivă rău intenționată și să inițieze extragerea acesteia într-un sistem critic.

Arhiva conține o înregistrare de serviciu ADS („STM”). Numele fluxului său este construit astfel încât să introducă o semantică de traversare. În timpul extragerii pe NTFS, WinRAR procesează înregistrarea ADS și deduce calea fluxului de destinație din metadatele controlate de arhivă. Deoarece această construcție a căii ADS nu este suficient de bine definită, destinația determinată poate să se afle în afara directorului de extragere selectat de utilizator, inclusiv în locații critice precum folderul de pornire al utilizatorului.

Analiză tehnică CVE-2025-8088: Scriere arbitrară de fișiere în WinRAR prin intermediul ADS
Figura 20. Fluxul atacului de la început până la sfârșit: livrare, extragere pe WinRAR vulnerabil și persistență prin intermediul folderului „Startup”.

Demonstrație de concept

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.

Analiză tehnică CVE-2025-8088: Scriere arbitrară de fișiere în WinRAR prin intermediul ADS
Figura 21. Exemplu de câmpuri controlate de atacator în interiorul unei arhive modificate, utilizate pentru a determina calea ADS.

Atunci când o versiune vulnerabilă a WinRAR intră în rutina de procesare ADS în timpul extragerii arhivei modificat în mod special, aceasta scrie conținutul controlat de atacator în destinația preselectată, în loc de directorul de extragere selectat de utilizator. După extragere, executarea încărcăturii utile depinde de formatul acesteia și de modul de execuție al destinației preselectate. De exemplu, locațiile care pot executa conținutul la următoarea autentificare sau repornire.

Analiză tehnică CVE-2025-8088: Scriere arbitrară de fișiere în WinRAR prin intermediul ADS
Figura 22. Demonstrație de validare a conceptului: o sarcină utilă introdusă în Startup prin intermediul căii de extragere vulnerabile.

Remediere

Riscul asociat vulnerabilității CVE-2025-8088 poate fi redus prin actualizarea WinRAR la o versiune remediată (7.13 sau o versiune ulterioară) pe toate terminalele gestionate. În cazul în care actualizarea nu poate fi efectuată în timp util, trebuie luate în considerare măsuri compensatorii, cum ar fi:

  • Limitarea sau dezactivarea păstrării ADS în instrumentele de arhivare atunci când nu este necesară
  • Limitarea extragerii arhivelor nesigure la medii izolate
  • Aplicarea principiului „privilegiilor minime” (evitați rularea instrumentelor de extragere cu drepturi ridicate)
  • Monitorizarea directoarelor critice, cum ar fi cele de pornire, pentru a detecta operațiuni de scriere neașteptate provenite din fluxurile de lucru de extragere a arhivelor

Pentru vulnerability detection timpurie vulnerability detection remedierea rapidă a acestora, MetaDefender sprijină operațiunile de remediere urgentă prin identificarea dispozitivelor care rulează versiuni vulnerabile ale WinRAR și evidențierea actualizărilor necesare. Capacitățile sale solide de gestionare a vulnerabilităților și a patch-urilor, care acoperă peste 1100 de aplicații, identifică în mod proactiv terminalele care rulează sisteme de operare și aplicații terțe neactualizate sau cu patch-uri lipsă și oferă soluții de remediere recomandate.

Vulnerability Management permite administratorilor să detecteze rapid expunerile, să prioritizeze remedierea acestora și să faciliteze trecerea la o versiune actualizată, reducând astfel riscul atacurilor de tip „write-to-archive”, precum CVE-2025-8088, precum și al altor amenințări similare la adresa terminalelor.

Analiză tehnică CVE-2025-8088: Scriere arbitrară de fișiere în WinRAR prin intermediul ADS
Figura 23. MetaDefender Endpoint versiunile vulnerabile ale WinRAR și recomandă actualizarea la o versiune remediată.

Rămâneți la curent cu OPSWAT!

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