Исследователь кибербезопасности из компании Flatt Security выявил серьезные уязвимости в системе Attended SysUpgrade (ASU) проекта OpenWRT, которые могли позволить злоумышленникам распространять вредоносные прошивки среди пользователей. Обнаруженным уязвимостям присвоен идентификатор CVE-2024-54143 с критическим уровнем опасности 9,3 по шкале CVSS.
Механизм работы уязвимостей
Проблема затрагивает сервис sysupgrade.openwrt.org, предназначенный для создания пользовательских образов прошивки с сохранением установленных пакетов и настроек. Исследователь RyotaK обнаружил две критические уязвимости в механизме обработки входных данных:
Инъекция команд
Первая уязвимость связана с небезопасным использованием команды make при обработке пользовательского ввода в контейнерном окружении. Это позволяло злоумышленникам внедрять произвольные команды через манипуляции с именами пакетов.
Проблема хеширования
Вторая уязвимость заключается в использовании усеченного 12-символьного хеша SHA-256 для кеширования сборок, что ограничивает энтропию до 48 бит. Эксперт продемонстрировал возможность проведения успешной атаки с использованием GPU NVIDIA RTX 4090 для создания коллизий хешей, что позволяет подменять легитимные сборки вредоносными версиями.
Реакция разработчиков и меры безопасности
Команда OpenWRT оперативно отреагировала на обнаруженные уязвимости: сервис был временно отключен, проблемы устранены, и работоспособность восстановлена в течение трех часов после получения уведомления. Хотя нет доказательств использования уязвимостей в реальных атаках, провести полный аудит невозможно из-за автоматической очистки серверов ASU каждые 7 дней.
Всем пользователям OpenWRT настоятельно рекомендуется обновить прошивки своих устройств до актуальных версий для минимизации потенциальных рисков безопасности. Особое внимание следует уделить системам, использующим публичные self-hosted экземпляры ASU, которые также требуют немедленного обновления. Данный инцидент подчеркивает важность регулярного обновления сетевого оборудования и проверки целостности устанавливаемого программного обеспечения.