Preorder drugiego tomu książki sekuraka: Wprowadzenie do bezpieczeństwa IT. -15% z kodem: sekurak-book
19 letnia podatność w WinRar – rozpakowujesz archiwum i masz zainfekowany komputer
Podatność w WinRar (dokładniej mamy ich w sumie aż cztery: CVE-2018-20250, CVE-2018-20251, CVE-2018-20252, CVE-2018-20253) umożliwia wypakowanie pliku z archiwum do dowolnego miejsca na systemie plików. Np. wypakowanie złośliwego pliku exe do katalogu autostartu w Windows (malware odpali się za każdym razem po restarcie systemu). Jak pisze Checkpoint:
Akcja na filmie poniżej – na pulpit mamy wypakowany mało podejrzany plik .txt, a w autostarcie ląduje malware:
Exploit jest dość prosty – trzeba tylko przygotować plik w formacie ACE (jest on domyślnie wspierany przez WinRar), dla niepoznaki zmienić mu rozszerzenie na .rar a w samym archiwum ustawić spakowanemu plikowi ścieżkę na:
C:\C:\some_folder\some_file.ext
Tak, podwójny C:\ to nie pomyłka:
Jest też mały bonus, bo można rozpakować rara do zdalnego share-a (SMB):
C:\\\10.10.10.10\smb_folder_name\some_folder\some_file.ext => \\10.10.10.10\smb_folder_name\some_folder\some_file.ext
Twórcy WinRar załatali podatność…usuwając obsługę formatu ACE (który był dostępny w WinRar od 2005 roku):
Aforementioned vulnerability makes possible to create files
in arbitrary folders inside or outside of destination folder
when unpacking ACE archives.WinRAR used this third party library to unpack ACE archives.
UNACEV2.DLL had not been updated since 2005 and we do not have access
to its source code. So we decided to drop ACE archive format support
to protect security of WinRAR users.
Korzystajcie więc co najmniej z wersji 5.70 beta1
–ms
Szkoda, że Eugene poszedł po najmniejszej linii oporu i wywalił całkowicie wsparcie dla archiwów ACE – fakt, wersja 2.x nie ma dostępnego oryginalnego kodu źródłowego, ale:
1. Wersja 1 ma, więc można było chociażby przełączyć się na nią i obsługiwać dalej chociaż archiwa ACE1.
2. Wersja 2.x ma dostępną specyfikację formatu pliku (przynajmniej w okolicach 2003-2005 można ją było łatwo znaleźć), więc można by było łatwo przystosować kod unace1 do przynajmniej niektórych wariantów kompresji ACE 2.x.
„…and we do not have access to its source code” – cudowne :) No, ale to nie Open Source, więc nie cudowne, a zwykłe. No, ale… nawet w Linuksie (kernelu) są zaciemnione kawałki…
7zip?
Igor Pavlov, mówi to Panu coś? ;)
Panie @Damianie G.
Jeśli mam być szczery to mnie osobiście nie mówi. Zechce Pan oświecić użytkownika 7z? Wiedzą należy się dzielić. Oczkuję Pańskiej uprzejmej odpowiedzi. Mogę czekać i miesiąc. Będę sprawdzał codziennie czy się pojawi. Jeśli jej nie otrzymam będę musiał wyciągnąć swoje wnioski a nie chciałbym wyciągać fałszywych.
Pozdrawiam.
Mnie tylko zastanawia ile jeszcze jest takich nieodkrytych perełek w sofcie codziennego użytku, że tak to określę… akurat WinRAR nigdy nie przypadł mi do gustu, ale zapewne miał i ma dalej rzesze zwolenników
więcej niż mniej :)
Nieśmiało chcę zauważyć ze jak w komputerze nie ma win rara to komputer nie będzie odpalał.
@Justin
Zawsze mi się wydawało że to najpopularniejszy program. Przyznam i mi jakoś specjalnie do gustu nie przypadł a poza tym właśnie ta jego powszechność. ;-)
@Krzysztof Kozłowski
Ha ha ha ;-) Fakt to w wielu kręgach prawda znana od lat. :-D
Pozdrawiam Panów
Mimo, że to closed source, DDLkę podobno można zapatchować, choć wymaga to dodatkowego oprogramowania. https://blog.0patch.com/2019/02/no-source-code-for-14-year-old.html
ano, jakiś czas temu tak kombinował Microsoft: https://arstechnica.com/gadgets/2017/11/microsoft-patches-equation-editor-flaw-without-fixing-the-source-code/
Dokumentacja formatu ACE 2.x jest/była publicznie dostępna – można by się nawet pokusić o implementację jakiegoś filtra, który by w pierwszym podejściu skanował całe archiwum ACE pod kątem path traversali, podejrzanie wyglądających struktur itp., a dopiero w drugim kierował archiwum do faktycznej dekompresji.
Technik w tym przypadku było dostępnych naprawdę wiele. Po prostu Eugene poszedł po najmniejszej linii oporu stwierdzając, że ACE to już niby nikomu niepotrzebny staroć – albo po prostu to był tylko quick fix, a docelowo planuje jakieś sensowniejsze rozwiązanie…
Rozumiem, że starczy otworzyć w WinRarze, zamiast od razu wypakowywać i można wybrać co wypakować, bo wszystko widać?
Stricte zaś w temacie „19-letnia podatność” faktycznie brzmi dość… strasznie i i nie napawa optymizmem. ;-P