Дыры в NASA AIT-GUI позволяют без пароля отправлять команды космическим аппаратам
Исследователи компании Cycode обнародовали цепочку уязвимостей в AIT-GUI — браузерной консоли оператора для открытого инструментального набора AMMOS Instrument Toolkit, разрабатываемого NASA и Лабораторией реактивного движения (JPL). AMMOS — это каркас для построения наземных систем, которые отправляют команды приборам и космическим аппаратам и обрабатывают приходящую телеметрию. AIT-GUI служит пультом оператора, а её конечные точки транслируют команды на командную шину.
Проблема (идентификатор GHSA-p9r8-2q67-fp86, оценка 9,4 по CVSS v3.1) затрагивает версии 2.5.1 и ниже и исправлена в 2.5.2. По формулировке Cycode, «радиус поражения неаутентифицированного POST-запроса измеряется не в испорченных страницах, а в отправленных командах приборам».
Что не так
Веб-сервер AIT-GUI считывает заданный в конфигурации адрес — и тут же его отбрасывает, привязываясь к жёстко прописанному 0.0.0.0 на порту 8080. Все изменяющие состояние маршруты открыты без аутентификации, авторизации и защиты от CSRF. Две конечные точки к тому же строят пути в файловой системе из непроверенного ввода (классификации CWE-306, CWE-352 и CWE-22).
Любой, кто может достучаться до порта, способен отправлять произвольные команды через POST /cmd, запускать серверные скрипты через /script/run (в том числе за пределами каталога — через обход пути) и выполнять последовательности команд через /seq. Поскольку запросы принимаются в формате x-www-form-urlencoded, браузер считает их «простыми» и не шлёт предварительный OPTIONS-запрос — а значит, даже изолированная за файрволом установка уязвима, если оператор с доступом к консоли откроет подготовленную атакующим страницу.
Исправление и разногласия
Версия 2.5.2 (вышла 12 августа 2026 года) привязывается к настроенному адресу с localhost по умолчанию, добавляет проверку заголовков Origin/Referer против Host для изменяющих методов и ограничивает /script/run и /seq их каталогами. Однако, как выяснила The Hacker News, аутентификацию к командным маршрутам так и не добавили: корневой маршрут по-прежнему выдаёт сессионную куку любому запросу, а команда принимается по этой куке.
Историю запутывает вторая запись — CVE-2026-60112 (9,3 по CVSS v4), опубликованная за три недели до отчёта Cycode. Две записи расходятся в том, какая версия считается исправленной, а в PyPI последней опубликованной версией пакета остаётся вовсе 2.4.1 от июля 2023 года — с тем же жёстким 0.0.0.0 и незащищёнными путями. Никакая эксплуатация в реальных условиях не зафиксирована, конкретная миссия, использующая ПО, не названа.
Любопытная деталь: коммит с исправлением подготовил исследователь Cycode Юваль Эльбар, а в трейлере Co-Authored-By указана модель Claude Opus 4.8 от Anthropic. «Эта ошибка была найдена так, как, по нашему мнению, и будет делаться настоящее исследование дальше: человек работает бок о бок с ИИ-анализом кода», — отметили в Cycode.
Источник: The Hacker News
Комментарии
Войдите, чтобы комментировать.