Preorder drugiego tomu książki sekuraka: Wprowadzenie do bezpieczeństwa IT. -15% z kodem: sekurak-book
7-Zip i archiwa RAR – wykonanie kodu przez rozpakowanie złośliwego archiwum
Użytkownicy 7-Zip powinni zweryfikować, czy korzystają z wersji oznaczonej numerem 18.05 wydanej pierwszego maja. Ta wersja programu do kompresji danych łata podatność związaną z obsługą archiwów RAR. Według informacji opublikowanej przez odkrywcę podatności, zmuszając 7-Zip do rozpakowania odpowiednio spreparowanego archiwum, można doprowadzić do wykonania dowolnego kodu, a co za tym idzie przejąć kontrolę nad maszyną, na której uruchomiona jest podatna wersja oprogramowania.
Sama podatność związana jest z niepoprawnym sposobem inicjalizacji pamięci oraz zależnościami jakie 7-Zip dzieli z UnRAR. Nie bez znaczenia jest również fakt, że jeszcze do niedawna większość plików wykonywalnych 7-Zip była dostarczana bez aktywnej obsługi ASLR. Sytuacja poprawiła się w wersji 18.00, a dodatkowe zabezpieczenia zostały włączone w wersji 18.05.
Poniżej PoC przygotowany przez autora podatności.
(Źródło: https://landave.io/2018/05/7-zip-from-uninitialized-memory-to-remote-code-execution/)
– piochu
Czy podatność dotyczy też Linuksowego portu p7zip?
Przyłączam się do pytania…
Dopadło mojego umiłowanego 7-zip’ka ;-(
Warto wspomnieć o ignoranckiej postawie autora 7-zip w kwestii bezpieczeństwa:
„I have discussed this issue with Igor Pavlov and tried to convince him to enable all three flags. However, he refused to enable /DYNAMICBASE because he prefers to ship the binaries without relocation table to achieve a minimal binary size. Moreover, he doesn’t want to enable /GS, because it could affect the runtime as well as the binary size. At least he will try to enable /NXCOMPAT for the next release. Apparently, it is currently not enabled because 7-Zip is linked with an obsolete linker that doesn’t support the flag.”
czyli w skrócie: brak ASLR i stack cookies by design, DEP „wkrótce”.
:-|