The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Уязвимости, позволяющие подменить образы и выполнить код на ASU-серверах проекта OpenWrt

08.12.2024 15:40

В развиваемом проектом OpenWrt инструментарии ASU (Attended SysUpgrade) выявлены критические уязвимости (CVE-2024-54143), позволяющие скомпрометировать сборочные артефакты, распространяемые через сервис sysupgrade.openwrt.org или сторонние ASU-серверы, и добиться установки модифицированных злоумышленником образов прошивок на системы пользователей, применяющих для обновления прошивок режим "attended upgrade" через web-интерфейс selector.openwrt.org или инструментарий командной строки attended.sysupgrade.

Для успешного проведения атаки злоумышленнику достаточно отправить запрос формирования сборки на сервер ASU (подобные запросы любой пользователь может отправить без прохождения аутентификации). Через манипуляции со специально оформленным списком пакетов атакующий может организовать отправку ранее сгенерированных вредоносных образов в ответ на легитимные сборочные запросы других пользователей.

Сервис ASU применяется в OpenWrt для формирования и установки обновлений прошивок без потери имеющихся настроек и установленных пользователем пакетов. Через web-интерфейс или инструментарий командной строки пользователь отправляет запрос на формирование обновлённого образа прошивки, указывая установленные в его системе пакеты. Через какое-то время сервер ASU формирует образ, соответствующий заказанному содержимому, после чего пользователь загружает его и прошивает его на своё устройство. Дополнительно предоставляется опция, позволяющая сохранить в обновлённой прошивке имеющиеся настройки.

За обработку запросов от пользователей отвечает ASU Server, который запускает автоматическую сборку образов прошивок при помощи инструментария ImageBuilder, а также поддерживает кэш из ранее подготовленных сборок. В случае, если пользователь запросил образ, который уже ранее собирался на сервере и сохраняет актуальность, система сразу отдаёт имеющийся образ из кэша без запуска сборочного процесса.

Поведение атаки стало возможным благодаря двум уязвимостям:

  • Уязвимость в обработчике запросов build_reques.py из состава инструментария Imagebuilder, позволяющая добиться подстановки своих команд в сборочный процесс через передачу пользователем специально оформленных имён пакетов. Уязвимость вызвана отсутствием должной проверки спецсимволов в именах пакетов перед их использованием в числе аргументов утилиты make. Воспользовавшись данной уязвимостью атакующий может сформировать на сервере вредоносные образы прошивок, подписанные корректным сборочным ключом.
  • Уязвимость в библиотеке util.py, вызванная тем, что хэши SHA-256, используемые для проверки наличия в кэше уже готовых образов прошивок, обрезались до 12 символов, что значительно снижало уровень энтропии и позволяло через подбор коллизий сформировать вредоносный образ, хэш которого совпадает с легитимным образом. В сочетании с уязвимостью в Imagebuilder проблема с хэшами могла использоваться атакующим для "загрязнения" кэша ASU Server и размещения в нём вредоносных образов, отдаваемых на запросы обычных пользователей.

Изменение, после которых появилась возможность совершения атаки, было внесено 8 июля. Проблема устранена 4 декабря. Для обеспечения работы сервиса ASU использовались отдельные серверы, не пересекающиеся с основными сборочными системами проекта, отделённые от OpenWrt Buildbot и не имеющие доступа к таким конфиденциальным ресурсам, как SSH-ключи и сертификаты для формирования цифровых подписей.

Утверждается, что разработчики OpenWrt не нашли следов компрометации инфраструктуры проекта, но для подстраховки с нуля переустановили системы, на которых выполнялись уязвимые компоненты. Проблема не затронула официальные образы, распространяемые через сайт downloads.openwrt.org, а при анализе сборочных логов не было найдено следов отправки вредоносных запросов. При этом, так как на серверах ASU выполняется автоматическая чистка сборок старше 7 дней, провести аудит старых сборок оказалось невозможно.

Вероятность использования выявленных уязвимостей на практике для распространения вредоносных образов через инфраструктуру OpenWrt оценивается представителями OpenWrt как близкая к нулю, тем не менее пользователям ASU рекомендуется на своих устройствах заменить прошивки OpenWrt на ту же версию.

Дополнение: Выявивший уязвимость инженер из компании Flatt Security опубликовал статью с рассказом о процессе эксплуатации уязвимостей, способе подбора коллизий и организации атаки на sysupgrade.openwrt.org. Примечательно, что разработчики OpenWRT выпустили патчи с исправлением спустя всего три часа после отправки им уведомления о проблеме.

  1. Главная ссылка к новости (https://lists.openwrt.org/pipe...)
  2. OpenNews: Дистрибутив OpenWrt переходит на пакетный менеджер APK
  3. OpenNews: Доступен маршрутизатор OpenWrt One, развиваемый сообществами OpenWrt и Banana Pi
  4. OpenNews: Обновление OpenWrt 23.05.5
  5. OpenNews: Взлом форума проекта OpenWRT
  6. OpenNews: Обновление OpenWrt 19.07.1 с устранением уязвимости, допускающей подмену пакетов
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/62371-openwrt
Ключевые слова: openwrt
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (37) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 17:13, 08/12/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    кто нибудь посоветуйте m2 wifi 5,6,7 что бы из коробки сразу работал на opewrt... а то две карты купил а они не подошли(
     
     
  • 2.2, Аноним (-), 17:54, 08/12/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Под какое железо искал то? Это ж не программная проблема. А вообще тут писали статью о Banana Pi OpenWRT ONE, можно статьи поискать: https://docs.banana-pi.org/en/OpenWRT-One/BananaPi_OpenWRT-One
     
     
  • 3.20, Аноним (-), 20:42, 08/12/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Впрочем оговорюсь - возможно что проблема то и программная, если вы удостоверились что ваш тип M2 поддерживается. Тогда вам нужно всего-то установить драйвера, если их нет и все настроить. Но судя по вопросу, я лично подумал что вопрос в аппаратной части.
     
  • 2.9, 2001db8deadd10056 (?), 18:51, 08/12/2024 [^] [^^] [^^^] [ответить]  
  • +/
    https://github.com/morrownr/USB-WiFi/blob/main/home/PCIe_WiFi_Devices.md
    Смотреть то что Linux In-Kernel Driver & AP Mode
     
  • 2.11, Аноним (11), 19:16, 08/12/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    У что OpenWRT HCL не ведет?
     
  • 2.41, Ivan_83 (ok), 14:15, 09/12/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    m2 бывает USB и PCI, вы заранее уточните что ваш хост умеет.
     
  • 2.42, Аноним (42), 17:52, 09/12/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Я себе брал AsiaRF AW7916-NPD (mini PCI) к x86 мини компьютеру, но у них были опции на m2.
    Меня ждало разочарование т.к. частота 6ghz не работает.

    Видел много тем на форумах banana pi со сборкой 6e роутеров на базе адаптеров AsiaRF.

     
  • 2.45, старый процессор (?), 19:27, 10/12/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Wifi7 нет поддержки в owrt совсем никакой. Даже если карта поддерживает и есть драйвер 7 не заработает.
     

  • 1.5, Krtek (?), 18:02, 08/12/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –5 +/
    Почитал гайды по сборке и установке этого нечто и пришёл к выводу, что проще взять нормальную железку и поставить туда alpine.
     
     
  • 2.7, Аноним (7), 18:06, 08/12/2024 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Надо dd-wrt
     
  • 2.25, Аноним (25), 21:25, 08/12/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Удачи тебе взгромоздить alpine на циску или джунипер, если уж мы про нормальное сетевое железо говорим, а не про очередной нескучный китайский хлам на rk3568 или что там сейчас модно?
     
     
  • 3.29, Олег (??), 00:49, 09/12/2024 [^] [^^] [^^^] [ответить]  
  • +/
    А на какие реально железки циски openwrt можно?
    3064pq, asr1001?

    https://openwrt.org/toh/hwdata/cisco/start
    https://openwrt.org/toh/start
    Список настолько скуден, что даже смешно
    Нет бы занять нижу EOL железок, отбоя бы не было

     
     
  • 4.43, InuYasha (??), 11:06, 10/12/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ксо-жалению у большинства цисок железо настолько in-house и проприетарное, что стороннему разработчику просто нереально в адекватные сроки что-либо реверсировать.
     
  • 2.28, Аноним (28), 23:16, 08/12/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Смысл сабжа только для китайцев которые на его основе клепают готовые вэбморды. В профессиональном сегменте никто не будет использоваться openwrt (мы не говорим про локалxoсты и каптёрки в конторе рога & копыта), на худой конец возьмут микротик.
     
     
  • 3.30, Олег (??), 00:51, 09/12/2024 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Ну не скажите
    есть кучу железок за дофига деняк, которые eol и с уязвимостями
    А микротики не живут под нагрузкой, от слова совсем, даже официальные цифры на топах у них это слезы, а их на полтора делить нужно
    Нареканий с BGP тоже хватает
    ну и незабывайте что Mikrotik это недружественные люди пишут и лицензируют
     
     
  • 4.31, Аноним Анонимович Анонимов (?), 06:54, 09/12/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Мне досталось несколько checkpoint u-5, у которых уже не было лицензии и обновлений. Благо там х86 железо «под капотом». Накатил debian и железки зажили новой жизнью. Из плюсов - появилась возможность использовать гигабитный порт для аплинка, на стоковой ос gaia такой возможности не было. Безусловно ковыряние в терминале после удобной GUI больно, но терпимо.
     
  • 4.33, Маняним (?), 08:43, 09/12/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > есть кучу железок за дофига деняк, которые eol и с уязвимостями

    Видно сразу, что вы никогда не работали в крупной компании, где всё строго завязано на официальную техподдержку и официально сертифицированное ПО.

    > это недружественные люди пишут и лицензируют

    А кто вам виноват, что вы хотите дружить с Никаpaгуа и KНДP, а не с нормальными стpaнами и людьми.

     
     
  • 5.37, myster (ok), 11:02, 09/12/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > в крупной компании, где всё строго завязано на официальную техподдержку и официально сертифицированное ПО

    Где вы были? Как думаете, сколько Cisco устройств уже давно без поддержки в крупных российских компаниях сегодня? Они есть точно.

     
  • 5.38, slew (ok), 11:04, 09/12/2024 [^] [^^] [^^^] [ответить]  
  • –4 +/
    >А кто вам виноват, что вы хотите дружить с Никаpaгуа и KНДP, а не с нормальными стpaнами и людьми.

    "Нормальные страны и люди" уже показали себя как грязь. Лучше с КНДР-вот надежные и благородные люди.

     
  • 2.36, myster (ok), 10:55, 09/12/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Если ты берешь нормальную железку, можно любой Linux катить. Alpine для экономии ресурсов железки ставят, но ты же сам сказал, что нормальную берешь.
    А тот же OpenWrt, говорят, в LXC неплохо работает. Но если железка тянет VM-ки, можно рассмотреть Opensense.
     

  • 1.8, rm3 (?), 18:49, 08/12/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > пользователям ASU рекомендуется на своих устройствах заменить прошивки OpenWrt на ту же версию.

    Вот это забавно звучит. Дописали бы: если вдруг заменятель прошивки у вас не забэкдорен и на самом деле что-то там заменяет, или копирует бэкдоры после прошивки в новую тоже.

     
  • 1.12, Аноним (12), 19:19, 08/12/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >Уязвимость вызвана отсутствием должной проверки спецсимволов в именах пакетов перед их использованием в числе аргументов утилиты make

    Уж сколько раз твердили миру: make, как и любые скрипты через командную строку - это рак. Любая интеграция сборочных систем должна делаться переводом пакетов на нормальную сборочную систему, после чего вызова её через API. Если апстрим дебил - то да, придётся поддерживать свой патч. К счастью патчи апстрима наложение патча не попортят.

     
     
  • 2.13, Аноним (13), 19:28, 08/12/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Все так, но переделать OpenWRT не представляется возможным. Там не просто autotools и make, там kconfig/kbuild для настройки и сборки всей ОС, не только ядра...
     
     
  • 3.15, Аноним (12), 19:43, 08/12/2024 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Всё очень даже возможно Более того, нужно и в ядре линкс переделать Вчера пыта... большой текст свёрнут, показать
     
     
  • 4.44, InuYasha (??), 11:11, 10/12/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Мне кажется, у вас скорее раздражение от того что плохие люди в Makefile пихают нечто страшное. Потму что у меня, например, опыт взаимодействия с ними довольно позитивный.

    > Недавно переделывал навороченный мейкфайл на питон с помощью нейросетей.

    Это какой-то кринж реально - питон в мейкфайле, да ещё и с нейросетями. Зачем??

     
  • 2.16, Аноним (16), 20:12, 08/12/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Частично согласен, однако openwrt в данном случае - исключение.
    Тут система сборки частично само-писная, как правильно понял, но при этом ОЧЕНЬ лёгкая в плане использования и модификации.
    Надо всё-таки учитывать, что здесь крайне специфичный случай для разных систем сборок. И далеко не факт, что их конфиги будут понятны для чтения и модификации. Например, с трудом себе представляю использование cmake для этого проекта (конкретно репозиторий openwrt/openwrt).
     
  • 2.32, Аноним (32), 08:33, 09/12/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > нормальную сборочную систему

    Вы же идеальный человек, зачем Вам нормальную сборочную систему?
    Вам надо идеальную сборочную систему ;)

     

  • 1.17, YetAnotherOnanym (ok), 20:16, 08/12/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Это, типа, каждый васян может заказать с доставкой на дом уникальный, неповторимый, индивидуальный имидж, с перламутровыми пуговицами?
    Не хочу показаться душным меркантильным кю, но за чей счёт банкет?
     
  • 1.18, Аноним (28), 20:21, 08/12/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Сижу на dlink dir 320 nru и менять не собираюсь. Роутер за nat провайдера, а максимальная скорость по тарифу итак 25 мегабит. Просто нет смысла.
     
     
  • 2.19, Аноним (25), 20:37, 08/12/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А у меня симметричный гигабит по оптике без провайдерского ната, с публичными v4 и v6, и провайдерская железка v6 никак не фильтрует вообще по умолчанию, и паролей настроить что-то отличное от названия и пароля вайфай не дают. Пришлось на ибее циску покупать вместо того недоразумения чтобы хоть как-то с этим бардаком совладать. А потом ещё оказалось, что провайдерская чепуха максимум 850 мегабит может прокачать... Проапгрейдил интернет, спасибо.
     
     
  • 3.22, Аноним (-), 20:48, 08/12/2024 [^] [^^] [^^^] [ответить]  
  • +/
    У меня тоже оптоволокно, Gpon, но скорость 30Мбит, потому что провайдер один на село и цены у него кусаются.
     
     
  • 4.24, Аноним (25), 21:17, 08/12/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Я тоже в селе на двадцать три дома живу. Правда провайдеров больше одного, есть из чего выбрать.
     
  • 3.39, myster (ok), 11:07, 09/12/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Роутер за nat провайдера

    За NAT или нет, роутер и так наружу не светит WebUI обычно.
    А нормальные провайдеры предоставляют белые IPv4 и IPv6, хотя бы динамические, если такого нет, лучше искать нормального провайдера.

     
  • 2.21, Аноним (-), 20:47, 08/12/2024 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Если не секрет, сколько километров до ближайшего населенного пункта со скоростью 100Мб или выше?
     
     
  • 3.27, Аноним (28), 21:46, 08/12/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Мой провайдер и гигабитные скорости предоставляет. Просто у меня самый дешевый тариф, т.к. не вижу смысла в таких скоростях, я ничего не качаю особо, фильмы и игры не интересуют. А для работы этого за глаза. Для быстрой загрузки сайтов гораздо важнее пинг, а не гигабиты. Всё равно просмотр большинства сайтов осложняется медленными каналами за пределами сети провайдера и тупняком всяких клаудфларей.
     
  • 3.46, хех (?), 19:33, 10/12/2024 [^] [^^] [^^^] [ответить]  
  • +/
    У меня вся Европа(все основные столицы от Португалии до Турции доступны со скоростью 2.5Gbps, Москва на большей части спидтеста выдает 1.2-1.5Gbps. 40 евро в месяц.
    Роутер intel n100 4x i225 на openwrt.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру