Summary
CVE-2026-103244 is a critical authentication bypass vulnerability in ground-station (sgoudelis), a Socket.IO-based application, affecting all versions prior to 0.8.0. An unauthenticated attacker can invoke the setup.restore command to execute arbitrary SQL during first-run setup mode, plant a rogue administrator account, and achieve full application takeover. The vulnerability carries a CVSS v3.1 base score of 9.8 (Critical).
Technical details
- Root cause: The
setup.restoreSocket.IO command is allowlisted for use while the application is in first-run setup mode, but the command dispatcher performs no authentication check whensetup_requiredis true. - Trigger conditions: The restore handler reads an attacker-supplied
sqlfield from the request payload and passes it directly to the database restore routine, with table-dropping behavior defaulting to enabled — allowing arbitrary SQL execution against the application database. - Attack vector: Network-based (Socket.IO), requiring no authentication, privileges, or user interaction. An attacker can craft database rows containing a pre-computed token hash that satisfies the application’s session validation logic, enabling authentication as an administrator with no valid credentials.
- Impact: Complete compromise of confidentiality, integrity, and availability — full administrative takeover of the application, including creation of forged admin accounts and session tokens.
Affected software
- ground-station (sgoudelis) — all versions prior to 0.8.0
Severity
- CVSS v3.1 Base Score: 9.8 (Critical)
- Vector:
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Mitigation and recommended actions
- Immediate: Upgrade ground-station to version 0.8.0 or later, which removes the unauthenticated
setup.restorecommand path and restricts database restoration to an authenticated administrator endpoint. - If no patch can be applied immediately: Ensure first-run setup is never performed on a network-exposed instance — complete initial setup only on a trusted, isolated network segment, restrict access to the application’s Socket.IO endpoint using network-level controls (firewall/allowlisting), and audit existing deployments for unexpected administrator accounts or session tokens created outside of normal provisioning.

