A critical vulnerability has been identified in AIT-GUI, the browser-based operator console for NASA/JPL's open-source AMMOS Instrument Toolkit. The flaw, rated with a CVSS score of 9.4 and tracked as GHSA-p9r8-2q67-fp86, allowed unauthenticated execution of commands on spacecraft instruments. The issue has been addressed in AIT-GUI version 2.5.2.
The AMMOS (Advanced Multi-Mission Operations System) framework is utilized by NASA/JPL and other missions for controlling spacecraft, sending commands, and processing telemetry data. AIT-GUI serves as the web interface for these real-time operations.
According to researchers from Cycode, the AIT-GUI HTTP server was found to lack authentication, authorization, and Cross-Site Request Forgery (CSRF) protection on any of its state-changing endpoints. This configuration meant that anyone capable of reaching the console's port, or even an operator visiting a malicious website in the same browser, could issue arbitrary commands.
The vulnerability is not a single defect but rather a combination of four distinct web weaknesses. Firstly, the server's configured host setting was ignored, causing it to bind to 0.0.0.0, exposing the console to the entire reachable network even if an operator intended to restrict it to localhost.
Secondly and thirdly, the system lacked any login requirement, session checks, CSRF tokens, or cross-origin restrictions on its routes. Specifically, the POST /cmd endpoint would directly pass any received command to the command bus without validation or checks.
The fourth weakness involved the POST /seq and POST /script/run endpoints, which constructed filesystem paths by concatenating raw user input with a root directory, without proper confinement. This allowed for directory traversal, meaning an input like `../../../../something` could resolve outside the intended sequence directory. Researchers noted that a correct path confinement check already existed within the same codebase on a sibling route, /scripts/load, but was not consistently applied.
The absence of CSRF protection posed a particularly severe risk, as it bypasses network firewalls. A malicious webpage could send form requests to the AIT-GUI console if an operator had it open in the same browser, enabling unauthorized command execution via POST /cmd, POST /seq, or POST /script/run without direct access to the system or its network.
Cycode's research team employed a combination of AI-assisted code analysis and human validation to discover and confirm these issues. The AI initially flagged patterns such as state-changing routes without authentication, user input flowing into subprocess calls without sanitization, and silently discarded configuration values. Human researchers then validated each pattern's exploitability and developed working proofs-of-concept, including a CSRF demonstration.
Operators are strongly advised to upgrade to AIT-GUI 2.5.2 immediately and ensure that the console port is not accessible from untrusted networks. Any instances that were exposed prior to the patch should be considered compromised, necessitating an audit of command and sequence history, as unauthenticated POST requests do not leave user-level traces. For deployments requiring additional hardening, maintainers should implement authentication and CSRF protection for command, script, and sequence routes, bind the server to the configured host instead of 0.0.0.0, and consistently apply the path-confinement logic from /scripts/load to /seq and /script/run.






