CVE-2026-53983: Ground Station prior to 0.6.0 Unauthenticated Persistent Blind Server-Side Request Forgery via Orbital Data Source URL
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 datasubmission event with submit-orbital-sources action to persist an attacker-supplied URL in the database, then trigger an orbital sync via the equally unauthenticated backgroundtask: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 fetchhttp3le and fetchhttpomm in backend/tlesync/sourceadapters.py. HTTP status codes and error messages from the outbound request are emitted in the orbitalsyncstate 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.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
Ground Stationto a version that resolves this vulnerability.Fixed in 0.6.0 - Configuration
Enable authentication enforcement for the Socket.IO server so unauthenticated clients cannot connect to port 7000 and cannot invoke events like data_submission or background_task:start.
Socket.IO server authentication enforcement = enabled - Configuration
Replace the wildcard CORS policy with a restrictive CORS configuration so browsers cannot send cross-origin Socket.IO requests to the port 7000 endpoints.
Socket.IO server CORS policy = restricted (no wildcard) - Configuration
In backend/tlesync/source_adapters.py for _fetch_http_3le and _fetch_http_omm, validate the stored orbital source URL: require an allowlisted scheme/host and reject loopback, RFC1918 (private) ranges, and link-local addresses such as 169.254.169.254; do not pass attacker-supplied URLs directly to requests.get.
Ground Station orbital-source configuration (backend/tlesync/source_adapters.py) source URL validation = enforce scheme/host allowlist + reject loopback/RFC1918/link-local - Operational
Purge/rotate any orbital-source entries created by an attacker so malicious attacker-chosen URLs stored in the database do not persist across restarts and do not re-fire on the 24-hour scheduled sync cycle.
Event History
Frequently Asked Questions
What is the severity of CVE-2026-53983?
The severity of CVE-2026-53983 is rated high with a score of 8.6.
How do I fix CVE-2026-53983?
To fix CVE-2026-53983, upgrade Ground Station to version 0.6.0 or later.
What type of vulnerability is CVE-2026-53983?
CVE-2026-53983 is categorized as an unauthenticated blind server-side request forgery (SSRF) vulnerability.
Who is affected by CVE-2026-53983?
Any users of Ground Station versions prior to 0.6.0 are affected by CVE-2026-53983.
Can CVE-2026-53983 lead to data exposure?
Yes, CVE-2026-53983 can potentially allow attackers to access sensitive information by issuing outbound HTTP requests to their choice of destinations.