Description
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.
Published: 2026-08-19
Score: 9.8 Critical
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

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. The EPSS score of 0.00725 (less than 1%) suggests a low but non‑zero likelihood of exploitation in the wild. Nonetheless, the vulnerability is exploitable over the network by any actor with access to the Socket.IO endpoint, since the save‑waterfall‑snapshot command is unauthenticated. The absence of a KEV listing does not mitigate the risk; an attacker can achieve remote code execution with minimal prerequisites, making this a high‑priority issue.

Generated by OpenCVE AI on August 20, 2026 at 15:53 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply the vendor‑provided update to Ground Station version 0.4.13 or later, which removes the vulnerable path handling
  • If an immediate upgrade is not possible, isolate the application by restricting network access to the Socket.IO API to trusted hosts only
  • Reconfigure the application to use a safe logging configuration path, or disable the ability to load external logging configuration files

Generated by OpenCVE AI on August 20, 2026 at 15:53 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 21 Aug 2026 21:00:00 +0000

Type Values Removed Values Added
First Time appeared Efstratios Goudelis
Efstratios Goudelis ground Station
Vendors & Products Efstratios Goudelis
Efstratios Goudelis ground Station

Fri, 21 Aug 2026 20:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'poc', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Wed, 19 Aug 2026 15:00:00 +0000

Type Values Removed Values Added
Description 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.
Title Ground Station: Unauthenticated arbitrary file write (path traversal) in save-waterfall-snapshot leads to remote code execution
Weaknesses CWE-22
CWE-73
CWE-94
References
Metrics cvssV3_1

{'score': 9.8, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'}


Subscriptions

Efstratios Goudelis Ground Station
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-08-21T19:32:38.317Z

Reserved: 2026-06-09T16:31:21.494Z

Link: CVE-2026-53451

cve-icon Vulnrichment

Updated: 2026-08-21T19:32:32.015Z

cve-icon NVD

Status : Received

Published: 2026-08-19T15:17:10.120

Modified: 2026-08-21T20:16:36.777

Link: CVE-2026-53451

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-21T20:45:03Z

Weaknesses
  • CWE-22

    Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')

  • CWE-73

    External Control of File Name or Path

  • CWE-94

    Improper Control of Generation of Code ('Code Injection')