Kritična ranjivost u 7-Zip omogućava napadačima izvršavanje proizvolnog koda
Pronađena kritična ranjivost u 7-Zip v26.00 omogućava izvršavanje произвољног koda preko heap overflow-a u NTFS handler-u.
Šta se desilo?
Pronađena je kritična ranjivost prekoračenja heap memorije u 7-Zip verziji 26.00 koja omogućava napadačima da izvršavaju proizvoljni kod kroz manipulaciju vtable pokazivača. Ranjivost se nalazi u NTFS handler-u arhivator alata, a eksploatacija se vrši kreiranjem posebno pripremljene NTFS slike koja koristi nedoslednost u izračunavanju veličine kompresivnog bloka.
Koga pogađa?
Svi korisnici 7-Zip alata su potencijalno ugroženi, bez obzira da li koriste 32-bitnu ili 64-bitnu verziju. Rizik je posebno visokim za korisnike koji redovno otvaraju arhivske datoteke ili disk slike iz nepouzdanih izvora. Organizacije koje koriste 7-Zip kao deo svojih sistemskih alata za obradu podataka takođe su u opasnosti.
Kako se zaštititi?
- Odmah ažurirajte 7-Zip na ispravljenu verziju čim postane dostupna
- Izbegavajte otvaranje arhivskih datoteka i disk slika od nepouzdanih izvora
- Koristite sigurne alternative za otvaranje .7z, .zip, .rar i ostalih arhivskih formata ako je moguće
- Pazite na datoteke bez poznatih ekstenzija ili sa neočekivanim ekstenzijama
- Pratite zvanične objave 7-Zip tima za informacije o zakrpi
Tehnički detalji
Ranjivost je katalogizirana kao CVE-2026-48095 sa CVSS skorom 8.8 (Visoki rizik). Greška se nalazi u funkciji CInStream::GetCuSize() u datoteci NtfsHandler.cpp. Problem nastaje jer 32-bitna shift operacija - (UInt32)1 << (BlockSizeLog + CompressionUnit) - generiše undefined behavior kada je ClusterSizeLog >= 28 i CompressionUnit == 4. Na x86 arhitekturi ovo dovodi do alokacije od samo 1 bajta umesto potrebnih 256 MB. Dalje čitanje memorije preskače u heap i prebrisava vtable pokazivač objekta CInStream-a, što omogućava potpunu kontrolu toka izvršavanja. Veoma opasna karakteristika ove ranjivosti je što NTFS handler koristi fallback detekciju koja se poklanja sa "NTFS " signaturom na bajtu 3, što znači da napadač može maskirati arhivu sa bilo kojom ekstenzijom ili bez nje kako bi pokrenuo vulnerabuilan kod. Ranjivost je klasifikovana kao CWE-787 (Out-of-Bounds Write) i CWE-190 (Integer Overflow).
Preporuka Sajber Radara
Ova ranjivost predstavlja ozbiljna pretnja jer nema ograničenja za formate datoteka i zahteva samo otvaranje posebno pripremljene datoteke. Korisnici moraju sa prioritetom izvršiti ažuriranje čim se zakrpa pušta u javnost i biti oprezni pri otvaranju bilo kojih arhivskih datoteka tokom perioda do primene zakrpe.