Эксперты NCC Group нашли две критические уязвимости в загрузчике U-Boot, который используется в embedded-системах на базе Linux, включая ChromeOS и Android, а также в устройствах для чтения электронных книг, таких как Amazon Kindle и Kobo eReader. U-Boot поддерживает ряд архитектур, в том числе 68k, ARM, x86, MIPS, Nios, PPC и другие.
Исследователи пишут, что проблемы были обнаруженные в алгоритме дефрагментации IP, реализованном в U-Boot. Баги могут быть использованы для осуществления out-of-bounds записи, а также провоцирования отказа в обслуживании (DoS).
Первая уязвимость, CVE-2022-30790 (9,6 балла по шкале CVSS), связана с перезаписью hole-дескриптора при дефрагментации IP, а это приводит к тому, что метаданные и фрагменты могут быть изменены таким образом, чтобы указывать на одно и то же место. Из-за этого становится возможной перезапись метаданных фрагментированными данными, а перед злоумышленником открывается возможность out-of-bounds записи.
«Эту ошибку можно использовать только в локальной сети, так как она требует создания вредоносного пакета, который, скорее всего, будет отброшен во время маршрутизации. Однако проблему можно эффективно использовать для локального рутирования embedded-устройств на базе Linux», — пишут в NCC Group.
Вторая уязвимость, CVE-2022-30552 (7,1 балла по шкале CVSS), представляет собой переполнение буфера и приводит к отказу в обслуживании.
Ожидается, что баги будут устранены разработчиками U-boot в грядущем патче, а пока исправлений нет, но подчеркивается, что обе уязвимости можно использовать только локально.