Nie masz jeszcze książki sekuraka o bezpieczeństwie aplikacji webowych? 20% taniej z kodem rabatowym: oferta-sekurak-20

Możliwość wykonania dowolnego kodu w popularnej bibliotece ExifTool. Exploitem może być ~najzwyklejszy plik .jpg

06 maja 2021, 10:22 | W biegu | komentarzy 12
Tagi: , ,

Z samą biblioteką prawdopodobnie już się gdzieś spotkaliście, natomiast dość zaskakująca jest podatność CVE-2021-22204:

W skrócie – odczytując metadane np. z podstawionego pliku .jpg (czy mp4) można spowodować wykonanie kodu na komputerze / serwerze ofiary.

Przyczyna? Eval na danych wyciąganych z analizowanego pliku plus dość zagmatwany kod (perlowcy powiedzą – jak to zagmatwany?! :-)

–Michał Sajdak

Spodobał Ci się wpis? Podziel się nim ze znajomymi:



Komentarze

  1. Pyth0n

    We wszystkich językach mających w składni eval, system, exec albo podobne funkcje powinny byś one domyślnie wyłączone i odblokowywane flagą –i_didn_t_need_this_system_anyway .

    Odpowiedz
    • Ale Exiftool to nie jest język programowania, tylko konkretnie parser i przepisywacz metadanych w plikach obrazkowych. Więc trzeba patrzeć konkretnie na specyfikę tego, co w tych metadanych jest.

      Wyłączenie eval w Exiftoolu byłoby możliwe, ale nie wprost – tam jest cała masa kodu napisanego na skróty, właśnie z użyciem takich niebezpiecznych sztuczek – bo taki kod jest w pewnych sytuacjach wielokrotnie prostszy do napisania. I przepisanie tego wszystkiego bez po prostu wyłączenia 90% funkcjonalności Exiftoola, to jest koszt lecący w miliony dolarów. Już nie wspominając o tym, że nie wszyscy producenci aparatów chętnie udostępniają dokumentację swojego „wariantu” Exif i spora część kodu jest efektem reverse engineeringu.

      Odpowiedz
  2. Tomasz

    Cóż tu się dziwić, Perl taki jest, albo szybko i bez błędów, albo analizujesz cały kod i stwierdzasz że do do… i najchętniej byś to przepisał od zera w innym języku ;)

    Odpowiedz
  3. nn

    Eval na metadanych to chyba bardziej backdoor…

    Odpowiedz
  4. Seb

    Tego typu informacje lubię najbardziej na Sekuraku. Krótko, ale samo mięsko.

    Odpowiedz
  5. Flash

    Szkoda gadac… A mnie sie pytaja dlaczego ja tworze wlasne narzedzia zamiast uzywac tych z internetu. Wlasnie dlatego bo amatorzy „geniusze” informatyki biora sie za prace dla prawdziwych specjalistow i potem wychodzi szydlo z worka.

    Odpowiedz
    • Paweł

      Własnoręcznie stworzone narzędzia są tak dobre jak ich autor. Więc chronisz się przed tym zagrożeniami o których wiesz. Do tego masz ograniczoną ilość czasu na ich stworzenie a następnie utrzymanie. Więc i jak zespół się rozwinie to w końcu będziesz musiał to zlecić prace innemu programiście i koło się zamyka.

      Ps. Programista popełnia błędy w swojej pracy nawet Ty. I mogę założyć, że inny doświadczony programista znalazł by w Twoim kodzie mnóstwo rzeczy do poprawny.

      Odpowiedz
      • Flash

        Z zagrozeniami jestem na biezaco zaczynajac od porannej dawki sekuraka i innych zrodel z zakresu cybersec. Poza tym programy tworze tylko dla siebie i nie sa dostepne publicznie a jesli mialbym publikowac to dopiero po wielokrotnych audytach bo u mnie automatycznie sa wykonywane przez ogolnodostepne skanery nawet gdy tworzylem proste strony musialy przejsc audyt zanim zostaly opublikowane. I nigdy nie uzywalem funkcji eval a jesli juz to lokalnie i w sposob bezpieczny :D. A ci od exiftool, albo inzynierowie z facebooka tez doswiadczeni programisci i co nie pomoglo im to, wiec albo ten co tworzyl ten skrypt exiftool to debil-amator ktory nauczyl sie z kursow online kilku podstaw i mysli ze jest the best albo umyslnie co kilka linijek jest eval.

        Odpowiedz
        • Grześ

          Fajnie że jesteś tak wszechstronnie utalentowany że możesz wyzywac innnych od debili z zadowoleniem spoglądając w lustro, ale twn portal czyta też całe grono idiotów, którzy nie mają tyle talentu lub czasu żeby pisać własne narzędzia i korzystają z cudzych. I to raczej dla nich jest ów artykuł.

          Odpowiedz
          • Flash

            To nie obraza tylko prawda, kto normalny pisze szkodliwy kod i wypuszcza go w swiat? Takich idiotow powinno sie wsadzac do wiezienia. Przypuscmy ze z tego skryptu korzysta skrypt obslugujacy web aplikacje (bo czasem tak jest a nawet dosc czesto, rozne pomysly maja ludzie. Wiele juz widzialem i zauwazylem ze i kwestii informatyki/programowania idiotyzm przekracza wszelkie granice) wrzucam image ktory skutkuje pobraniem przez taki glupi exiftool trojana ransomware, cyk cyk bum serwer zaszyfrowany.

          • Flash

            I nie ma znaczenia kto to czyta bo wina i tak jest po stronie autora skryptu :)

  6. Ipek

    Nawet nie wiedziałem, że mam Exiftool ;)
    Poszło jako zależność od jakiejś aplikacji.
    W każdym razie widzę, że mam niepodatną wersję 1.25, ale usunąłem jak takie „babole” wpuszczają.

    Odpowiedz

Odpowiedz