NASA AIT-GUI Flaws Could Let Unauthenticated Attackers Issue Spacecraft Commands
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
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
Disclaimer: The above content is generated by AI and is for reference only.