AI Security AI安全 1d ago Updated 1d ago 更新于 1天前 46

NASA AIT-GUI Flaws Could Let Unauthenticated Attackers Issue Spacecraft Commands NASA AIT-GUI漏洞可能让未授权攻击者发出航天器指令

A chain of critical flaws (CVSS 9.4, GHSA-p9r8-2q67-fp86) in NASA/JPL's AIT-GUI allows unauthenticated attackers to issue arbitrary spacecraft and instrument commands via the web console The server binds to 0.0.0.0 by default, lacks authentication, authorization, and CSRF protection, and exposes state-changing endpoints (POST /cmd, POST /script/run, POST /seq) to any network-reachable client Path traversal vulnerabilities (CWE-22) on /script/run and /seq allow execution of server-side scripts an NASA/JPL的AMMOS Instrument Toolkit GUI(AIT-GUI)存在严重安全漏洞,允许未认证攻击者通过浏览器直接发送任意航天器指令 漏洞根因包括:硬编码绑定0.0.0.0:8080、缺少认证/授权/CSRF防护、路径遍历缺陷,CVSS评分9.4 修复版本2.5.2仅限制监听地址并添加同源检查,但未解决核心认证缺失问题;PyPI最新公开版本仍为2.4.1(2023年7月) 攻击者可通过恶意网页触发跨域POST请求,即使部署在本地或防火墙后仍可被利用

68
Hot 热度
65
Quality 质量
60
Impact 影响力

Analysis 深度分析

TL;DR

  • A chain of critical flaws (CVSS 9.4, GHSA-p9r8-2q67-fp86) in NASA/JPL's AIT-GUI allows unauthenticated attackers to issue arbitrary spacecraft and instrument commands via the web console
  • The server binds to 0.0.0.0 by default, lacks authentication, authorization, and CSRF protection, and exposes state-changing endpoints (POST /cmd, POST /script/run, POST /seq) to any network-reachable client
  • Path traversal vulnerabilities (CWE-22) on /script/run and /seq allow execution of server-side scripts and command sequences outside intended directories
  • A cross-origin POST exploit is possible without an OPTIONS preflight due to application/x-www-form-urlencoded bodies being treated as CORS "simple" requests, enabling attack via malicious web pages
  • Version 2.5.2 addresses the issues but has not been published to PyPI (latest remains 2.4.1 from July 2023), and conflicting vulnerability records (CVE-2026-60112 vs. Cycode advisory) exist regarding affected versions and the fix

Why It Matters

This vulnerability demonstrates the severe real-world consequences of missing authentication and CSRF protections in operational technology and space mission software, where the blast radius is measured in issued commands rather than data breaches. It also highlights a critical supply chain risk: a security-critical fix exists in source code but is unavailable through the official package distribution channel (PyPI), leaving operators of the widely used 2.4.1 release exposed.

Technical Details

  • AIT-GUI, the browser-based operator console for NASA/JPL's AMMOS Instrument Toolkit, runs a web server that ignores its configured host binding and hardcodes 0.0.0.0:8080, exposing all state-changing routes without any authentication, authorization, or CSRF mitigation
  • Three exploitable endpoints were identified: POST /cmd (arbitrary command issuance), POST /script/run (server-side script execution with path traversal via CWE-22), and POST /seq (command sequence execution with path traversal)
  • The CORS bypass works because the endpoints accept application/x-www-form-urlencoded bodies, which browsers classify as "simple" requests and send without an OPTIONS preflight, allowing cross-origin exploitation from a malicious webpage
  • Fix in version 2.5.2 (commit by Yuval Elbar, July 10 2026) binds to the configured host (defaulting to localhost), adds a before_request hook comparing Origin/Referer against Host for mutating methods, and confines /script/run and /seq to their configured roots; however, unauthenticated session creation via Sessions.create() remains present in 2.5.2
  • A separate CVE-2026-60112 (CVSS 9.3 v4) was published by VulnCheck on July 29 2026, but conflicts with the Cycode advisory on affected versions and the patch commit; neither advisory appears in GitHub's global database or PyPI's vulnerability data

Industry Insight

  • Organizations deploying AMMOS Instrument Toolkit or AIT-GUI should immediately audit their installations, restrict network exposure of port 8080, and consider compiling and deploying version 2.5.2 from source since the PyPI package remains at the vulnerable 2.4.1 release
  • Open-source projects in safety-critical domains (space, industrial control, medical) must ensure security patches are published through official distribution channels with versioned releases, as source-only fixes create a dangerous gap between available and secure software
  • The conflicting vulnerability records and missing Dependabot support underscore the need for maintainers of niche but high-impact open-source projects to proactively register CVEs, populate GitHub Advisory Database entries, and ensure proper package ecosystem integration for automated vulnerability detection

TL;DR

  • NASA/JPL的AMMOS Instrument Toolkit GUI(AIT-GUI)存在严重安全漏洞,允许未认证攻击者通过浏览器直接发送任意航天器指令
  • 漏洞根因包括:硬编码绑定0.0.0.0:8080、缺少认证/授权/CSRF防护、路径遍历缺陷,CVSS评分9.4
  • 修复版本2.5.2仅限制监听地址并添加同源检查,但未解决核心认证缺失问题;PyPI最新公开版本仍为2.4.1(2023年7月)
  • 攻击者可通过恶意网页触发跨域POST请求,即使部署在本地或防火墙后仍可被利用

为什么值得看

本文揭示了NASA/JPL开源航天地面控制系统的关键安全缺陷,展示了AI辅助开发(Claude Opus 4.8参与修复)与基础安全实践缺失之间的矛盾,对航天软件供应链安全具有重要警示意义。

技术解析

  • 漏洞链构成:包含CWE-306(缺少认证)、CWE-352(CSRF)、CWE-22(路径遍历)三类缺陷,攻击者可通过POST /cmd、POST /script/run、POST /seq三个端点分别实现任意指令发送、服务器端脚本执行和路径外文件访问
  • CSRF利用机制:端点接受application/x-www-form-urlencoded格式请求,被浏览器视为CORS"简单请求",无需预检OPTIONS即可跨域提交,攻击者只需诱使操作员访问恶意页面即可触发
  • 修复版本缺陷:2.5.2版本虽限制监听地址为localhost并添加Origin/Referer同源检查,但Sessions.create()仍无条件颁发会话cookie,命令端点接受任意携带该cookie的请求,认证缺失问题未解决
  • 版本管理混乱:GitHub提交记录显示修复commit由Claude Opus 4.8辅助编写,但PyPI仓库最新公开版本仍为2.4.1(2023年7月),2.5.0-2.5.2均未发布至PyPI,漏洞数据库记录存在版本范围争议

行业启示

  • AI辅助开发需强化安全审查:即使使用Claude等高级AI模型辅助编写安全修复代码,仍可能遗漏核心认证机制,开源项目需建立AI生成代码的安全验证流程
  • 航天软件供应链安全薄弱:NASA/JPL开源工具缺乏持续安全维护,漏洞修复版本未通过正式包管理器发布,暴露了关键基础设施软件在版本管理和漏洞响应方面的系统性缺陷
  • CSRF防护需超越同源检查:对于控制物理设备的Web界面,仅依赖Origin/Referer验证不足以防御CSRF,应实施双因素认证、操作确认机制或硬件安全模块绑定

Disclaimer: The above content is generated by AI and is for reference only. 免责声明:以上内容由 AI 生成,仅供参考。

Security 安全 Open Source 开源 Research 科学研究