Preorder drugiego tomu książki sekuraka: Wprowadzenie do bezpieczeństwa IT. -15% z kodem: sekurak-book
Heartbleed na USB: Grzesiek Wypych publikuje informacje o podatności umożliwiającej czytanie do 65kB pamięci z rozmaitych urządzeń IoT
CVE-2020-15808 mówi o błędzie w bibliotece do obsługi USB na popularnych procesorach STM32 dostarczanych przez STMicroelectronics. Jeśli podłączacie jakieś urządzenie przez USB, komunikuje się ono z drugą stroną za pomocą… protokołu USB :) Co jeśli wysłać by tutaj nieco zmodyfikowane pakiety?
Jak się okazuje, czasem możemy pobrać aż 65kB z urządzenia, do którego się podłączyliśmy. Co w środku? To zależy, ale można spodziewać się różnych sekretów czy wręcz całego firmware urządzenia:
Hello enjoy CVE-2020-15808 ⁰⁰for STMicroelectronics, no response to patch it. CDC USB class is vulnerable for buffer overflow via req->wLength pointer and allows to read up to 65KB of memory by crafting special USB descriptor message. Impacted entire series. pic.twitter.com/PSxjqXisri
— Grzegorz Wypych (@horac341) October 2, 2020
Zaznaczony powyżej fragment to zwrócenie konkretnych danych, a wielkość odpowiedzi znajduje się w kontrolowanym przez atakującego parametrze wLength. Normalnie jest to np. 10 bajtów. Ale jeśli wpiszemy tam 65535 – dostaniemy „nieco więcej” – czytaj klasyczny buffer overflow.
Grzegorz stwierdza, że podatność została zgłoszona do producenta w maju 2020 roku, jednak producent nie odpowiedział, ani najprawdopodobniej nie załatał luki. Szczegóły podatności zostały opublikowane niedawno na konferencji BlackHat Asia.
–ms
Biblioteki USB od ST są tak podłej jakości, że nie zdziwi mnie nawet RCE.
Problem dotyczy głównie małych płytek z procesorem ARM, więc możemy sami załatać porty USB gumą do żucia i problem rozwiązany.
Jak widzę taki kod to aż mam ochotę jakiś poczytać, otwieram kod i już mi się nie chce :|