/

CVE-2026-103244

Severity:

CRITICAL RISK

(9.8)

Authentication Bypass (CWE-306) in Ground-Station App

CVE-2026-103244

Awaiting Analysis

Vulnerability type

Category:

Authentication Bypass

CWE:

CWE-306

Impact:

Unauthenticated Administrative Account Takeover

Severity:

CRITICAL RISK

(9.8)

CVSS version:

3.1

Catch this CVE while code is being written

Detect vulnerable code directly in pull requests, so CVEs are fixed before merge.

Summary

Ground-station releases before 0.8.0 contain an authentication bypass in the first-run setup.restore command. An unauthenticated attacker who can reach the Socket.IO setup interface may execute arbitrary SQL, create administrative accounts, forge session tokens, and gain complete control of the application.

Affected context

The vulnerability occurs in deployments where the application remains in first-run setup mode and exposes the setup.restore command through Socket.IO. It is particularly risky when that interface is reachable by untrusted network clients and the command can access application database tables without authentication or authorization checks.

Exploit preconditions

  • Attack surface: Socket.IO setup interface
  • Required access: Network reachability to the setup endpoint; no valid credentials are required
  • Trigger point: Invocation of the setup.restore command while first-run setup mode is active
  • Why exploitation is possible: The command permits database operations before establishing or enforcing authenticated administrative access

Why this happens

The underlying issue is a missing authentication check on a sensitive setup operation, mapping to CWE-306: Missing Authentication for Critical Function. The application exposes database-affecting functionality during initialization without reliably proving the caller's identity or restricting the operation to a trusted setup context. This allows unauthenticated input to influence account and session state.

Potential impact

  • Attackers may create or modify administrative accounts
  • Attackers may forge session tokens and authenticate as privileged users
  • The application may be completely taken over
  • Sensitive data may be accessed, altered, or deleted
  • Configuration, workflows, or connected integrations may be changed
  • The application may be used as a foothold for further attacks

General mitigation guidance

Mitigation generally focuses on removing unauthenticated access to initialization and database-changing functions.

Common defensive patterns include:

  • Require strong, independently verified authentication before any setup restoration operation
  • Disable setup-only interfaces after initialization and fail closed when setup state is ambiguous
  • Enforce authorization checks at the command handler rather than relying only on surrounding routes
  • Use narrowly scoped database operations instead of accepting general SQL execution paths
  • Restrict Socket.IO exposure through network policy, trusted origins, and administrative access controls
  • Apply least privilege to the application database account and isolate administrative functions
  • Invalidate or rotate sessions and review privileged accounts after suspected exposure

How teams detect issues like this

Organizations can look for this class of issue through:

  • Static analysis and code review checks for unauthenticated handlers that invoke database writes or account-management logic
  • Tests that exercise initialization commands without credentials and verify denial by default
  • Review signals such as setup flags trusted without server-side enforcement, Socket.IO events lacking authorization middleware, and handlers that accept arbitrary database statements
  • Runtime monitoring for unexpected setup.restore calls, administrative account creation, session-token changes, and database activity during normal operation
  • Policy enforcement requiring authentication and authorization controls for every state-changing event
  • Automated security review tools that flag missing access checks on sensitive command paths

Sources

SourceLink
github.comgithub.com/sgoudelis/ground-station/commit/940df2128e57fa779d0ddee2d9726bd829fc61e1
github.comgithub.com/sgoudelis/ground-station/security/advisories/GHSA-3mqj-q84c-crjq
vulncheck.comvulncheck.com/advisories/ground-station-before-0.8.0-authentication-bypass-via-setup-restore

Frequently asked

questions

It can be remotely exploitable when the Socket.IO setup interface is network-reachable and the application is still in first-run setup mode. Exploitation does not require valid credentials according to the reported behavior.

The attacker needs network access to the exposed Socket.IO interface. A username, password, or existing session is not required, but network controls may limit practical reachability.

Require authentication and explicit authorization for setup.restore, disable setup functionality after initialization, and prevent general database manipulation through application commands.

Treat initialization endpoints as privileged administrative functions, test them in an unauthenticated state, enforce fail-closed setup transitions, and monitor account and session changes made during setup.

Find out what's already
exploitable in your codebase.