Impact
Ground Station's unauthenticated save-waterfall-snapshot Socket.IO command permits an attacker to supply a snapshotName that is used without validation in os.path.join, allowing absolute or parent‑directory traversal. The resulting write operation can place arbitrary base64‑decoded bytes outside the intended snapshots directory. An attacker can leverage this to create a YAML file containing a logging.config.dictConfig callable factory, then use the unauthenticated update‑app‑config operation to point the application’s log_config to that file and trigger restart_service. During restart, the logger resolves the path, loads the YAML with yaml.safe_load, and executes dictConfig, which runs the factory with service privileges, resulting in arbitrary code execution and the potential for a persistent crash loop.
Affected Systems
Ground Station, offered by sgoudelis, is affected in all releases prior to 0.4.13. The issue exists in the backend that handles the save‑waterfall‑snapshot and restart_service commands. Only users of the browser‑based suite running a vulnerable version are impacted.
Risk and Exploitability
The CVSS score of 9.8 indicates a critical severity. EPSS is not available, but the vulnerability is exploitable over the network by any actor with access to the Socket.IO endpoint, as the save‑waterfall‑snapshot command is unauthenticated. The lack of KEV listing does not diminish the risk; an attacker can achieve remote code execution with minimal prerequisites, making this a high‑priority issue.
OpenCVE Enrichment