CVE-2026-97370
WysokieCVSS 7.5Streszczenie
Junrar to otwarta biblioteka Java do obsługi archiwów RAR. W wersjach przed 7.6.1 funkcja RarVM.ExecuteCode w src/main/java/com/github/junrar/unpack/vm/RarVM.java może wielokrotnie wykonywać instrukcję VM_JMP, której cel jest większy lub równy codeSize przygotowanego programu. Funkcja setIP() zwraca sukces bez zmiany wskaźnika instrukcji i bez zmniejszania maxOpCount, a obsługa skoku kontynuuje przed rozliczeniem końca pętli, pozostawiając obie wartości bez zmian. Spreparowane archiwum RAR4 może zatem utrzymać wątek ekstrakcji w nieskończonej pętli CPU i wyczerpać wydajność procesu przetwarzania archiwów. Maszyna wirtualna RAR nie udostępnia natywnego wykonywania procesów, więc wspieranym skutkiem jest utrata dostępności, a nie wykonanie kodu. Problem naprawiono w wersji 7.6.1.
Ocena ryzyka
Atakujący może dostarczyć złośliwe archiwum RAR, które zawiesi wątek przetwarzania i wyczerpie zasoby serwera, powodując odmowę usługi dla legalnych użytkowników.
Rekomendacja
Należy zaktualizować bibliotekę Junrar do wersji 7.6.1 lub nowszej; do czasu aktualizacji zaleca się ograniczenie przetwarzania niezaufanych archiwów RAR.
Inne podatności w Junrar
Zobacz wszystkie- CVE-2026-86071Niskie
Junrar to otwarta biblioteka Java do obsługi archiwów RAR. W wersjach przed 7.6.1 klasa LocalFolderExtractor może tworzyć katalogi poza zamierzonym katalogiem docelowym podczas przetwarzania spreparowanego wpisu archiwum, ponieważ createFile() waliduje tylko końcową ścieżkę kanoniczną, a makeFile() tworzy pośrednie segmenty ścieżki bez sprawdzenia. Może to prowadzić do zanieczyszczenia systemu plików lub zajęcia nazw plików/katalogów.
- CVE-2026-41245Średnie
W bibliotece Junrar przed wersją 7.5.10 wykryto podatność na path traversal w klasie `LocalFolderExtractor`. Umożliwia ona atakującemu zapis dowolnych plików o kontrolowanej treści do katalogów sąsiednich podczas wypakowywania spreparowanego archiwum RAR.
Oryginalny opis (angielski, źródło NVD)
Junrar is an open source Java RAR archive library. Prior to 7.6.1, RarVM.ExecuteCode in src/main/java/com/github/junrar/unpack/vm/RarVM.java can repeatedly execute a VM_JMP instruction whose target is greater than or equal to the prepared program's codeSize. The setIP() function returns success without changing the instruction pointer or decrementing maxOpCount, and the jump handler continues before loop-end accounting, leaving both values unchanged. A crafted RAR4 archive can therefore keep an extraction thread in an infinite CPU loop and exhaust archive-processing worker capacity. The RAR virtual machine does not expose native process execution, so the supported impact is availability loss rather than code execution. This issue is fixed in version 7.6.1.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

