Vulnerabilities in Buildroot allowing code execution on the build server via MITM attack

W systemie budowy Buildroot, który jest ukierunkowany na tworzenie rozruchowych środowisk Linux dla systemów wbudowanych, zidentyfikowano sześć luk zabezpieczeń, które umożliwiają podczas przechwytywania ruchu tranzytowego (MITM) wprowadzenie zmian w generowanych obrazach systemowych lub organizację wykonania kodu na poziomie systemu budowy. Luki zabezpieczeń zostały usunięte w wydaniach Buildroot 2023.02.8, 2023.08.4 i 2023.11.

Pierwsze pięć luk (CVE-2023-45841, CVE-2023-45842, CVE-2023-45838, CVE-2023-45839, CVE-2023-45840) dotyczy kodu sprawdzania integralności pakietów na podstawie haszów. Problemy polegają na możliwości użycia HTTP do pobierania plików i braku plików hashowych dla niektórych pakietów, co umożliwia manipulację zawartością tych pakietów, mając możliwość przechwycenia ruchu budowy. serwera (na przykład, gdy użytkownik łączy się przez sieć bezprzewodową kontrolowaną przez atakującego).

W szczególności pakiety aufs i aufs-util były pobierane przez HTTP i nie były sprawdzane na podstawie haszów. Hasze również były niedostępne dla pakietów riscv64-elf-toolchain, versal-firmware i mxsldr, które domyślnie były pobierane przez HTTPS, ale w przypadku problemów powracały do pobierania bez szyfrowania z hosta http://sources.buildroot.net. W przypadku braku plików '.hash' narzędzie Buildroot uznawało sprawdzenie za udane i przetwarzało pobrane pakiety, w tym stosowało wchodzące w pakiety poprawki i uruchamiało skrypty budowania. Posiadając możliwość manipulacji pobieranymi pakietami, atakujący mógł dodać własne poprawki lub pliki Makefiles, co umożliwiało wprowadzenie zmian w rezultacie obrazu lub skryptach systemu budowy i uzyskanie wykonania własnego kodu.

Szósta luka (CVE-2023-43608) została spowodowana błędem w implementacji funkcjonalności BR_NO_CHECK_HASH_FOR, która pozwala na wyłączenie sprawdzania integralności na podstawie haszów dla wybranych pakietów. Niektóre pakiety, takie jak jądro Linux, U-Boot i versal-firmware, umożliwiały pobieranie najnowszych wersji, dla których jeszcze nie utworzono plików hashowych. Dla tych wersji stosowano opcję BR_NO_CHECK_HASH_FOR, wyłączającą sprawdzanie hash. Dane były pobierane przez HTTPS, ale domyślnie w przypadku awarii pobierania korzystano z powrotu do source.buildroot.net bez szyfrowania przez protokół http://. Atakujący podczas ataku MITM mógł zablokować połączenie z serwerem HTTPS, a wtedy pobieranie było cofane na http://sources.buildroot.net.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster