---
id: CVE-2026-53983
title: "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 is…"
summary: "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 is…"
severity: high
cvss: 8.6
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N'
cwe:
  - CWE-918
published: '2026-08-06'
updated: '2026-09-23'
sourceUpdated: '2026-09-23T17:17:40.627'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-53983'
references:
  - url: 'https://github.com/sgoudelis/ground-station'
    label: disclosure@vulncheck.com
  - url: >-
      https://github.com/sgoudelis/ground-station/commit/2ecde82a8814cbea18883ce023bf45cbf06172eb
    label: disclosure@vulncheck.com
  - url: >-
      https://github.com/sgoudelis/ground-station/security/advisories/GHSA-mjp8-x6h7-229q
    label: disclosure@vulncheck.com
tags:
  - nvd
epss: 0.00574
epssPercentile: 0.44993
ingestedAt: '2026-09-23T17:28:14.797Z'
---

## Overview

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.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
