CVE-2026-53451: Ground Station: Unauthenticated arbitrary file write (path traversal) in save-waterfall-snapshot leads to remote code execution
Ground Station is a browser-based suite for satellite tracking, SDR reception, hardware control, and telemetry decoding. Prior to version 0.4.13, the unauthenticated save-waterfall-snapshot Socket.IO command passes attacker-controlled snapshotName input from backend/handlers/entities/sdr.py to backend/server/snapshots.py, where os.path.join permits an absolute path or parent-directory traversal and writes attacker-controlled base64-decoded bytes outside backend/data/snapshots. An attacker can write a logging YAML file containing a logging.config.dictConfig callable factory, use the unauthenticated update-app-config operation to set log_config to that file, and invoke restart_service. During restart, backend/common/logger.py passes the YAML through resolve_log_config_path(), yaml.safe_load(), and logging.config.dictConfig(), which executes the factory with service privileges and can also cause a persistent crash loop. This issue is fixed in version 0.4.13.
Security readout for executives and security teams
Plain-English summary
An unauthenticated remote attacker can make vulnerable Ground Station servers write files outside the intended snapshot directory. By combining this with other unauthenticated configuration and restart functions, the attacker may run code with service privileges, alter data, steal information, or repeatedly crash the service.
Executive priority
Treat reachable pre-0.4.13 systems as an immediate remediation priority. Upgrade promptly and temporarily isolate them if patching cannot occur quickly. Because compromise could grant service-level execution and persistence through crash loops, affected systems should also receive focused configuration, filesystem, and log review.
Technical view
Before 0.4.13, save-waterfall-snapshot accepts an attacker-controlled filename and base64-decoded content without safely containing the destination path. Absolute paths or parent traversal enable arbitrary file writes. A crafted logging YAML can then be selected through update-app-config and loaded during restart_service; logging.config.dictConfig may invoke its configured factory, producing service-level code execution.
Likely exposure
Ground Station installations earlier than 0.4.13 are affected. Risk is greatest where the Socket.IO backend is reachable by untrusted networks because the documented chain requires no authentication, privileges, or user interaction. The supplied sources do not quantify internet exposure or identify default deployment boundaries.
Exploitation context
The CVSS score is 9.8, reflecting network access, low complexity, no authentication, and high confidentiality, integrity, and availability impact. The source bundle marks KEV false and provides no evidence of active exploitation. Public technical details may nevertheless reduce attacker research effort.
Researcher notes
The reported chain spans path traversal, arbitrary file write, unauthenticated configuration modification, and unsafe logging configuration behavior. The provided commit and advisory are the primary references for code-level review. No CPEs, observed attacks, proof-of-concept status, or deployment prevalence are supplied, so exposure must be established from each organization’s inventory and network controls.
Mitigation direction
Upgrade Ground Station to version 0.4.13 or later.
Until upgraded, restrict backend and Socket.IO access to trusted networks and authorized users.
Review vendor advisory and release guidance before returning an exposed instance to service.
Investigate unexpected configuration changes, snapshot files, logging YAML files, or repeated service restarts.
Validation and detection
Confirm every Ground Station deployment reports version 0.4.13 or later.
Verify snapshot destinations remain confined to the intended backend/data/snapshots directory.
Check that log_config references only expected, administrator-controlled logging configuration files.
Review configuration history and service logs for unauthorized updates, restarts, or crash loops.
Inspect service-writable locations for unexpected files created during the suspected exposure window.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · medium confidence lookup
CWE-22: File access and web shell behavior lookup
File traversal and upload weaknesses can lead teams to review file, web shell, execution, and collection telemetry. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
File traversal and upload weaknesses can lead teams to review file, web shell, execution, and collection telemetry. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
Code execution and unsafe deserialization weaknesses often justify reviewing execution behavior and process telemetry. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
The CVE wording references code or command execution, so execution technique review may help defensive triage. This is a Glexia inferred lookup path, not an official MITRE, ATT&CK, or CVE Program mapping.
The CVE wording references file access or upload behavior, so file telemetry and web shell review may help. This is a Glexia inferred lookup path, not an official MITRE, ATT&CK, or CVE Program mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
1CVSS vectors
3Timeline events
1ADP providers
4Source links
SSVC decision data
CISA-ADPCISA Coordinator
Timestamp
Version
2.0.3
Exploitation: pocAutomatable: yesTechnical Impact: total
CVSS vector scores
1 official score
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-22 · source CWE mapping
Improper Limitation of a Pathname to a Restricted Directory
Improper Limitation of a Pathname to a Restricted Directory represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.
External Control of File Name or Path represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.
Improper Control of Generation of Code represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.