Кибераналитики компании Cycode обнаружили в открытом программном обеспечении NASA — AMMOS Instrument Toolkit (AIT) — критическую цепочку уязвимостей, которая позволяла неавторизованным пользователям отправлять произвольные команды на космические аппараты и выполнять произвольные скрипты на сервере. Об этом сообщает РБК-Украина со ссылкой на технический отчет Cycode. Наземный комплекс AIT используется для построения систем обработки телеметрии и передачи команд на космические аппараты, что делает любые пробелы в его безопасности потенциально катастрофическими для действующих миссий.
Как именно работала цепочка уязвимостей
По данным Cycode, проблема охватывает сразу несколько классификаций уязвимостей: CWE-306 (отсутствие аутентификации критически важных функций), CWE-352 (межсайтовая подделка запросов, CSRF) и CWE-22 (выход за пределы разрешенного каталога, Path Traversal). Веб-сервер AIT по умолчанию привязывался к сетевому интерфейсу 0.0.0.0 на порту 8080, что делало его доступным из внешней сети без каких-либо ограничений. Конечные точки для отправки команд (/cmd), запуска скриптов (/script/run) и последовательностей (/seq) не требовали ввода пароля или логина. Более того, система генерировала сессионный кукис sid для любого анонимного запроса на главную страницу (GET /), что позволяло обходить поверхностную проверку сессии и отправлять команды космическому аппарату. Маршрут /seq дополнительно содержал уязвимость Path Traversal, открывавшую возможность выполнения посторонних файлов непосредственно на сервере.
Почему фикс в версии 2.5.2 признан частичным
Выпуск обновления AIT-GUI версии 2.5.2 ограничил сетевой слушатель локальным адресом localhost и добавил проверку заголовков Origin/Referer для защиты от межсайтовых запросов (CSRF). Однако, как отмечают исследователи Cycode, анализ исходного кода показал, что в версии 2.5.2 базовый механизм аутентификации так и не был добавлен. Это означает, что любой запрос без учетных данных все еще может получить действительный сессионный кукис, а веб-интерфейс, созданный для управления космическими миссиями, по-прежнему не спрашивает пароль. Исследователи квалифицируют проблему как исправленную лишь частично, что оставляет открытым вектор атаки для локальных или инсайдерских сценариев.
Противоречивые данные
Здесь возникает ключевое расхождение в оценках. С одной стороны, выпуск версии 2.5.2 формально закрывает два из трех выявленных векторов — привязку к 0.0.0.0 и CSRF-атаки через вредоносную веб-страницу в браузере оператора. С другой стороны, отсутствие аутентификации в обновленной версии означает, что базовый сценарий — неавторизованная отправка команд на космический аппарат через локальную сеть или через скомпрометированный хост — остается действующим. Cycode прямо указывает, что проблема «исправлена частично», тогда как сам факт выпуска патча может создавать ложное впечатление у администраторов, что угроза полностью устранена. Таким образом, степень закрытия уязвимости зависит от того, рассматривается ли она как единая цепочка или как набор независимых дефектов.
ИИ-инструменты в исследовании уязвимостей
Отдельного внимания заслуживает методология исследования: при поиске уязвимости киберспециалисты Cycode использовали ИИ-ассистент Claude Opus 4.8 от компании Anthropic, который помог проанализировать исходный код AIT и написать регрессионные тесты для верификации исправлений. Этот случай демонстрирует растущую роль больших языковых моделей в области аудита безопасности критической инфраструктуры, включая космические системы.
Текущий статус: подтвержденных атак не зафиксировано
На момент публикации отчета случаев реального использования данной уязвимости злоумышленниками или компрометации действующих космических миссий NASA не зафиксировано. Тем не менее, учитывая, что AIT является открытым программным обеспечением и может быть развернут не только в инфраструктуре NASA, но и в системах других космических агентств и коммерческих операторов, риск потенциального злоупотребления остается актуальным до тех пор, пока не будет реализован полноценный механизм аутентификации.