CVE-2026-102514
WysokieCVSS 8.4Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 2 - wyżej niż 2% wszystkich znanych CVE
Streszczenie
W PeaZip 11.2.0 i wcześniejszych występuje podatność zapisu poza granicami bufora (CWE-787) w procedurze rozpakowywania archiwów PEA (pea.pas, unpea_procedure). Atakujący może przekonać ofiarę do otwarcia lub rozpakowania spreparowanego archiwum .pea, co pozwala na wykonanie dowolnego kodu jako użytkownik uruchamiający PeaZip.
Ocena ryzyka
Podczas dekompresji strumienia PCOMPRESS1 32-bitowe pole rozmiaru pierwszego bloku (compsize) jest odczytywane bezpośrednio z archiwum i używane bez walidacji jako długość odczytu do stałego bufora oraz jako granica pętli kopiowania, co prowadzi do przepełnienia i możliwości wykonania kodu. Podatność jest cross-platform (Windows, macOS, Linux, BSD) i nie wymaga hasła ani niestandardowej konfiguracji.
Rekomendacja
Zaktualizuj PeaZip do wersji nowszej niż 11.2.0, gdy tylko poprawka będzie dostępna. Do czasu aktualizacji nie otwieraj ani nie rozpakowuj niezaufanych archiwów .pea.
Inne podatności w PeaZip
Zobacz wszystkie- CVE-2026-104024Średnie
Podatność typu niekompletna lista niedozwolonych danych wejściowych (CWE-184) w PeaZip 10.5.0–11.2.0 na Windows dotyczy potwierdzenia uruchomienia niebezpiecznych rozszerzeń w przeglądarce archiwów. Lista SECEXTCONST zawiera tylko siedem rozszerzeń (exe, cmd, msi, bat, ps1, vbs, reg), a sprawdzenie polega na dokładnym porównaniu ciągu znaków, przez co pomija inne typy plików wykonywanych przez ShellExecuteW, m.in. .url i .lnk. W efekcie otwarcie spreparowanego wpisu w archiwum może uruchomić program lub dowolne polecenie bez okna potwierdzenia.
- CVE-2026-105050Wysokie
PeaZip przed wersją 11.3.0, w nie domyślnej konfiguracji, jest podatny na wstrzykiwanie poleceń systemu operacyjnego przez nazwę pliku w archiwum, ponieważ nieprawidłowo obsługuje sytuację, gdy znak cudzysłowu jest już użyty w ciągu.
Oryginalny opis (angielski, źródło NVD)
Out-of-bounds Write (CWE-787) in the PEA archive extraction routine (pea.pas, unpea_procedure) of the first-party pea component in PeaZip 11.2.0 and earlier allows an attacker who convinces a victim to open or extract a crafted .pea archive to execute arbitrary code as the user running PeaZip. While decompressing a PCOMPRESS1 stream, the 32-bit compressed-block-size field of the first block (compsize) is read directly from the archive and used without validation as the length of a blockread into the fixed-size global buffers wbuf1/wbuf2 (1,114,112 bytes) and as the bound of the subsequent copy loop. The existing check "compsize > WBUFSIZE" is applied only to the size of each following block, so the first block escapes it; the same unvalidated value is also used to index wbuf1[compsize], an out-of-bounds read at an attacker-chosen offset. The copy loop additionally copies the requested length instead of the number of bytes actually read, and terminates on equality rather than on an upper bound. Because the project is built without range checking and no archive password, integrity tag or non-default configuration is required, the overflow overwrites adjacent global data; code execution was demonstrated by two independent researchers against the official Linux x86-64 and Windows x64 builds, and the denial-of-service and memory-corruption primitive is cross-platform (Windows, macOS, Linux, BSD).
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

