Уязвимость в OpenWRT: под угрозой программные оболочки в устройствах интернета вещей
Проблема позволяет злоумышленникам подменять программные оболочки в роутерах и шлюзах безо всякой авторизации. Не исключено, что «баг» уже использовали в практических атаках.
Угроза образу
В операционной системе OpenWRT для устройств интернета вещей выявлена критическая уязвимость, которая позволяет подменять программные оболочки устройств их вредоносными модификациями. «Баг» под индексом CVE-2024-54143 оценивается в 9,3 балла по шкале CVSS.
OpenWRT – это дериватив Linux, специально созданный для встраиваемых и сетевых устройств, таких как шлюзы и маршрутизаторы (роутеры). Все компоненты OpenWRT оптимизированы таким образом, чтобы занимать как можно меньше места в постоянном и оперативном запоминающих устройствах.
Первый релиз этой системы состоялся в январе 2004 г. В сентябре 2024 г. вышла версия 23.05.5, последний к настоящему времени стабильный релиз.
Однако, как выяснил эксперт компании Flatt Security, в компоненте, отвечающем за обновления этой системы, – Attended Sysupgrade (ASU), – содержится (вернее, содержалась) опасная ошибка. Согласно приведенному разработчиками проекта описанию, злоумышленник может подменить легитимный образ программной оболочки («прошивки»), если предоставит список пакетов, которые вызовут хэш-коллизию. Такая возможность возникает в связи с тем, что, во-первых, в собственном образе службы, которая осуществляет генерацию других образов, содержится ошибка, допускающая инъекцию команды, а во-вторых, в хэше запроса на компиляцию используется усеченный хэш SHA-256.
Следствием успешной эксплуатации может стать внедрение произвольных команд на этапе компиляции основного образа, в результате чего потенциальный злоумышленник может сформировать вредоносные образы программных оболочек, которые сохранят оригинальные ключи безопасности.
Хуже того, коллизию 12-символьных хэшей SHA-256, связанных с ключом компиляции (build key) можно использовать для загрузки вредоносных вариантов программных оболочек вместо легитимных. А это уже серьезная угроза для конечных пользователей.
Проблема по запросу
«Потенциальному злоумышленнику понадобится возможность отправлять запросы на формирование образа программной оболочки, в которых будет содержаться специально подготовленный список пакетов, – пишет исследователь Flatt, обозначившийся как RyotaK. – Аутентификация для эксплуатации уязвимостей не требуется. Инъекция команд и коллизия хэшей обеспечивают злоумышленнику возможность заставить [потенциальную жертву – CNews] получить через легитимный запрос на формирование образа предзаготовленный вредоносный образ [программной оболочки – CNews]».
По утверждению эксперта, уязвимость присутствовала в OpenWRT в течение «некоторого времени», из-за чего невозможно сказать, использовалась ли эта уязвимость в реальных атаках. Возможность такого сценария отрицать не стоит. «Скорее уместно исходить из того, что как минимум отдельные случаи целевой эксплуатации этой уязвимости имели место, – считает Анастасия Мельникова, директор по информационной безопасности компании SEQ. – Киберзлоумышленники, особенно профессиональные, хорошо знают, что устройства интернета вещей нередко являются самым слабым местом в сетевой инфраструктуре, и, с высокой долей вероятности, регулярно ищут и находят новые уязвимости. Если этот «баг» содержался в проблемном компоненте длительное время, то злонамеренные акторы вполне могли его найти гораздо раньше легитимных исследователей».
Уязвимость устранена обновлением ASU до версии 920c8a1.