Skip to main content

Ground Station EUVDEUVD-2026-54279

| CVE-2026-53983 CRITICAL
Server-Side Request Forgery (SSRF) (CWE-918)
2026-08-06 disclosure@vulncheck.com GHSA-77cr-rrgg-p4wf
9.2
CVSS 4.0 · Vendor: vulncheck
Share

Severity by source

Vendor (vulncheck) PRIMARY
9.2 CRITICAL
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
vuln.today AI
5.8 MEDIUM

Network-reachable with no auth or user interaction (AV:N/AC:L/PR:N/UI:N); scope changes as requests reach internal systems (S:C); blind oracle leaks only status codes not bodies, so C:L with no integrity or availability impact.

3.1 AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:L/SI:N/SA:N

Primary rating from Vendor (vulncheck).

CVSS VectorVendor: vulncheck

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
X

Lifecycle Timeline

4
Patch available
Aug 06, 2026 - 23:03 EUVD
Source Code Evidence Fetched
Aug 06, 2026 - 22:55 vuln.today
Analysis Generated
Aug 06, 2026 - 22:55 vuln.today
CVE Published
Aug 06, 2026 - 22:17 cve.org
CRITICAL 9.2

DescriptionCVE.org

Ground Station prior to 0.6.0 contains an unauthenticated blind server-side request forgery vulnerability in the orbital-source configuration path that allows any unauthenticated Socket.IO client to cause the ground-station process to issue outbound HTTP requests to attacker-chosen destinations. Attackers can connect to the Socket.IO server on port 7000 without credentials due to disabled authentication enforcement and a wildcard CORS policy, then submit a data_submission event with submit-orbital-sources action to persist an attacker-supplied URL in the database, then trigger an orbital sync via the equally unauthenticated background_task:start event. The URL is stored with no scheme allowlist, no host validation, and no rejection of loopback, RFC1918, or link-local (cloud instance metadata at 169.254.169.254) addresses, and is passed directly to requests.get in _fetch_http_3le and _fetch_http_omm in backend/tlesync/source_adapters.py. HTTP status codes and error messages from the outbound request are emitted in the orbital_sync_state Socket.IO event to all connected clients, providing a serviceable oracle for interpreting internal-service and cloud-metadata responses even though the raw response body is not directly leaked. Because the malicious source persists in the database across restarts and re-fires every 24 hours on the scheduled sync cycle, the primitive gives durable long-term SSRF without the attacker needing to remain connected.

AnalysisAI

Unauthenticated blind server-side request forgery in sgoudelis Ground Station before 0.6.0 lets any network attacker coerce the ground-station process into issuing outbound HTTP requests to arbitrary destinations, including cloud instance metadata at 169.254.169.254 and internal RFC1918/loopback services. Because the Socket.IO server on port 7000 enforces no authentication and uses a wildcard CORS policy, an attacker persists a malicious orbital-source URL and triggers a sync, then reads returned HTTP status codes and error strings as an oracle for probing the internal network. There is no public exploit identified at time of analysis, but the flaw is durable: the malicious source survives restarts and re-fires automatically every 24 hours.

Technical ContextAI

Ground Station is a Python (asyncio/SQLAlchemy) satellite tracking backend that exposes a Socket.IO real-time API and synchronizes orbital element sets (TLE/3LE/OMM) from configured HTTP sources. The vulnerability is CWE-918 (Server-Side Request Forgery): attacker-controlled orbital-source URLs are stored without a scheme allowlist, host validation, or blocking of loopback, private (RFC1918), or link-local ranges, then passed directly to requests.get in _fetch_http_3le and _fetch_http_omm within backend/tlesync/source_adapters.py. Two compounding misconfigurations make it reachable pre-auth: authentication enforcement is disabled on the Socket.IO layer and CORS is set to wildcard, so the data_submission (submit-orbital-sources) and background_task:start events accept commands from any origin without credentials. The requests library follows the supplied URL, and the resulting status/error is echoed back to all clients via the orbital_sync_state event, forming the response oracle.

RemediationAI

Vendor-released patch: 0.6.0 - upgrade Ground Station to 0.6.0 or later, per advisory GHSA-mjp8-x6h7-229q (https://github.com/sgoudelis/ground-station/security/advisories/GHSA-mjp8-x6h7-229q) and the fix referenced at https://github.com/sgoudelis/ground-station/commit/2ecde82a8814cbea18883ce023bf45cbf06172eb. If immediate upgrade is not possible, restrict network access to TCP port 7000 with a host firewall or network ACL so only trusted management hosts can reach the Socket.IO server (side effect: breaks any legitimate remote client on that port), and place the service behind a reverse proxy that enforces authentication and a strict CORS origin allowlist rather than the wildcard default. As a network-egress control, block the ground-station host from reaching the cloud metadata endpoint 169.254.169.254 and internal management ranges, and on AWS enforce IMDSv2 to blunt the metadata oracle (side effect: applications relying on IMDSv1 must be updated). Review the sources table and delete any orbital-source rows with unexpected URLs, since malicious entries persist across restarts and re-fire every 24 hours.

Share

EUVD-2026-54279 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy