[CVE-2017-6181] Ruby 2.4.0 – Stack Overflow

Słowo wstępu Chwila odpoczynku od projektów wykorzystywanych w branży bezpieczeństwa – dzisiejszym targetem jest interpreter języka Ruby, podstawy popularnego frameworka webowego Ruby on Rails – obecnego w kodzie takich serwisów jak GitHub, BaseCamp, AirBnb czy Twitch. Krótki opis podatności Błąd znajdował się w wersji 2.4.0, a więc na dzień pisania posta ostatniej stabilnej (Git HEAD: fbd5cda6aad6db01bbca3d893a9970314a1bd52c). […]

[CVE-2017-5924] Yara 3.5.0 – Use after free #2

Słowo wstępu Kolejny tydzień – kolejne use-after-free w Yarze 🙂 Dla osób które nie znają backgroundu lub chciałyby dowiedzieć się więcej o “moich” błędach w tym projekcie – odsyłam tutaj i tutaj. Krótki opis podatności Błąd znajdował się w wersji 3.5.0 (Git HEAD: 890c3f850293176c0e996a602ffa88b315f4e98f) – jest to commit naprawiający poprzednie use-after-free. Biblioteka LibYara nie sprawdzała czy […]

[CVE-2016-10211] Yara 3.5.0 – Use after free #1

Słowo wstępu Kontyunuując temat niebezpiecznych narzędzi (w ostatniej odsłonie było radare2) dla osób związanych z bezpieczeństwem IT – kolejny już wpis o Yarze. Temat motywacji testów oraz funkcjonalności projektu opisałem we wcześniejszym poście, więc oszczędze przynudzania czytelnikom 🙂 Krótki opis podatności Błąd znajdował się w wersji 3.5.0 (Git HEAD: 779b9a77aa4377152a5cba031255029afb0c19a5). LibYara w poszukiwaniu identyfikatorów w regułce, […]

radare2 – Use after free

Słowo wstępu Projekt radare2, z racji moich zainteresowań oraz wykonywanej pracy jest mi dosyć bliski. Narzędzia wykorzystywane do analizy binarnej plików, są w mojej opinii fenomenalnym wektorem ataku na zaawansowanego użytkownika  – rzadko kiedy ktoś zastanawia się nad tym, czy odpalany plik jest potencjalnie niebezpieczny, nie zdając sobie sprawy co dzieje się “pod spodem”, w […]

WebKit JavaScriptCore – Out of bounds read

Szybki wstęp Projekt WebKit kusi bughunterów przede wszystkim, bardzo dużym zasięgiem występowania błędu – wykorzystywany jest jako core przeglądarki Apple Safari, silnik Apple AppStore i komponent wielu aplikacji w systemach MacOS X oraz Linux. Między innymi to błędy w WebKitcie były punktem wejścia do jailbreaku iOS i odblokowania urządzeń Apple’a. Myślę, że lepszej motywacji do […]

[CVE-2016-1000295] PCRE2 10.22 – Stack Buffer Overflow

Słowo wstępu Bardzo podoba mi się opis projektu – poza opisaniem funkcjonalności, odpowiada również na pytanie dlaczego jest to bardzo interesujący cel fuzzingu: The PCRE library is a set of functions that implement regular expression pattern matching using the same syntax and semantics as Perl 5. PCRE has its own native API, as well as […]

Yara 3.5.0 – Błędy Double Free oraz Integer Underflow

Yara jest narzędziem do wyszukiwania wzorców tekstowych oraz binarnych w plikach. Z racji na jej specyficzne “moce” jest używana głównie przez analityków malware, oraz firmy \ projekty zajmujące się bezpieczeństwem IT. Z racji tego, że lubię wiedzieć czego używam, postanowiłem ją trochę pofuzzować za pomocą American Fuzzy Loop. Projekt czasowo “wstrzelił” się chwilę po wydaniu […]

Firmadyne – obiecujący framework do dynamicznej analizy firmware

Pod koniec lutego zrobiło się głośno o błędach w urządzeniach D-Linka (CVE-2016-1558 oraz CVE-2016-1559) znalezionych za pomocą tytułowego frameworku. Od początku ochoczo zabrałem się do testów, jednak nauczony doświadczeniem, że sporo projektów na GitHubie umiera po pierwszym commicie, postanowiłem wstrzymać się z jego opisaniem. Na szczęście projekt nie umarł i ma się całkiem dobrze (na […]

Nowe D-Linki, stare błędy

Testując frameworka Firmadyne (jego tematykę poruszę bardzo dokładnie w następnym poście – jeszcze w tym tygodniu 🙂 ) emulację oprogramowania D-Linka znalazłem nowe-stare błędy w urządzeniach DWR-921 rev. C (poprzedni opis dotyczył tylko rewizji A) oraz, routerze spoza rodziny DWR, DSL-2770L. Tym samym lista podatnych urządzeń urosła do dziewięciu modeli. Podatne wersje oprogramowania: DWR-921 rev. […]

Orange Livebox 2.0 (ZTE) – Niegroźny błąd Buffer Overflow & Information Disclosure

Kilka słów o tym, jak kończy się brak pamięci o walidacji jednego pola po stronie aplikacji internetowej (czyli de facto wykorzystanie tylko walidacji danych po stronie klienta) oraz dlaczego nie warto podłączać dysków USB do routera.   Bohater dzisiejszego wpisu – Orange Livebox 2.0 (producent ZTE). Post dotyczy słabości w wersji oprogramowania o identyfikatorze 2013-02-21_V6.1.27. […]