Уязвимости в Buildroot, позволяващи чрез MITM атака да се изпълни код на сборочния сървър

В системата Buildroot, насочена за изграждане на зареждащи Linux среди за вградени системи, бяха открити шест уязвимости, които позволяват при прихващане на транзитен трафик (MITM) да се извършат изменения в генерираните системни образи или да се организира изпълнение на код на ниво на системата за изграждане. Уязвимостите са коригирани в версиите Buildroot 2023.02.8, 2023.08.4 и 2023.11.

Първите пет уязвимости (CVE-2023-45841, CVE-2023-45842, CVE-2023-45838, CVE-2023-45839, CVE-2023-45840) засягат кода за проверка на целостта на пакетите по хешове. Проблемите са свързани с възможността за използване на HTTP за зареждане на файлове и отсъствието на проверочни хеш-файлове за някои пакети, което позволява подмяна на съдържанието на тези пакети, като се вмъква в трафика на събранието. сървър (например, когато потребителят е свързан чрез безжична мрежа, контролирана от атакуващия).

По-специално, пакетите aufs и aufs-util се зареждаха по HTTP и не бяха проверявани по хешове. Хешовете също бяха отсъстващи за пакетите riscv64-elf-toolchain, versal-firmware и mxsldr, които по подразбиране се зареждаха по HTTPS, но в случай на проблеми отстъпваха на зареждане без криптиране от хост http://sources.buildroot.net. При отсъствие на файлове '.hash' инструментариумът Buildroot смяташе проверката за успешна и обработваше заредените пакети, включително прилагаща входящите в пакети пачове и стартиране на сценарии за изграждане. Имайки възможност да подмени заредените пакети, атакуващият можеше да добави свои пачове или строителни файлове Makefiles, което позволяваше извършването на промени в крайния образ или сценарии на системата за изграждане и да постигне изпълнение на своя код.

Шестата уязвимост (CVE-2023-43608) е причинена от грешка в реализирането на функционалността BR_NO_CHECK_HASH_FOR, която позволява да се деактивира проверката на целостта по хешове за селективни пакети. Някои пакети, като ядрото на Linux, U-Boot и versal-firmware, допускаха зареждане на последни версии, за които все още не бяха създадени проверочни хешове. За тези версии се прилагаше опцията BR_NO_CHECK_HASH_FOR, деактивираща проверката по хеш. Данните се зареждаха по HTTPS, но по подразбиране при неуспех на зареждането се използваше откат към source.buildroot.net без криптиране по протокол http://. Атакуващият по време на MITM-атака можеше да блокира връзката към HTTPS-сервера и тогава зареждането се откатяваше на http://sources.buildroot.net.

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster