/

CVE-2026-60112

Severity:

CRITICAL RISK

(9.8)

Missing Authentication (CWE-306) in AIT Command GUI

CVE-2026-60112

Analyzed

Vulnerability type

Category:

Missing Authentication

CWE:

CWE-306

Impact:

Unauthorized Command Execution

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

AMMOS Instrument Toolkit (AIT) GUI before 2.5.1 suffers from a missing authentication flaw where network clients can obtain valid sessions without any credential checks.

Once a session is issued, an unauthenticated attacker can send arbitrary spacecraft commands through the command bus, making exposed deployments critically risky.

AMMOS Instrument Toolkit (AIT) GUI before 2.5.1 suffers from a missing authentication flaw where network clients can obtain valid sessions without any credential checks.

Once a session is issued, an unauthenticated attacker can send arbitrary spacecraft commands through the command bus, making exposed deployments critically risky.

Affected context

This vulnerability arises in AIT GUI deployments where the Sessions.create() API endpoint is reachable over a network and no external access control is enforced.

It is most relevant in environments where the GUI is connected to an operational AIT command bus and assumes that clients are trusted or pre-authenticated.

Installations that expose the GUI beyond a tightly controlled, segmented network—such as shared mission networks or remote operations links—are especially at risk.

This vulnerability arises in AIT GUI deployments where the Sessions.create() API endpoint is reachable over a network and no external access control is enforced.

It is most relevant in environments where the GUI is connected to an operational AIT command bus and assumes that clients are trusted or pre-authenticated.

Installations that expose the GUI beyond a tightly controlled, segmented network—such as shared mission networks or remote operations links—are especially at risk.

Exploit preconditions

  • Attack surface: Network-accessible AIT GUI API, specifically the Sessions.create() endpoint.
  • Required access: Ability to connect to the AIT GUI over the network (e.g., TCP/HTTP access); no valid user credentials required.
  • Trigger point: Calling Sessions.create() to obtain a valid session object, then invoking handle_cmd() with attacker-chosen command data.
  • Why exploitation is possible: The session creation logic omits any credential or identity verification, and there is no subsequent authentication or authorization gate between session issuance and command dispatch.
  • Attack surface: Network-accessible AIT GUI API, specifically the Sessions.create() endpoint.
  • Required access: Ability to connect to the AIT GUI over the network (e.g., TCP/HTTP access); no valid user credentials required.
  • Trigger point: Calling Sessions.create() to obtain a valid session object, then invoking handle_cmd() with attacker-chosen command data.
  • Why exploitation is possible: The session creation logic omits any credential or identity verification, and there is no subsequent authentication or authorization gate between session issuance and command dispatch.

Why this happens

The core issue is a missing authentication and authorization check on a privileged session-creation function.

The Sessions.create() endpoint is treated as a trusted internal operation and fails to enforce identity verification, mapping directly to CWE-306: Missing Authentication for Critical Function.

Because downstream command handling (handle_cmd()) trusts any session issued by Sessions.create(), the design implicitly relies on a trust assumption about callers that is not technically enforced.

Abstractly, this pattern reflects a security boundary violation where a high-impact action (controlling spacecraft commands) is exposed without a mandatory authentication and access control layer.

The core issue is a missing authentication and authorization check on a privileged session-creation function.

The Sessions.create() endpoint is treated as a trusted internal operation and fails to enforce identity verification, mapping directly to CWE-306: Missing Authentication for Critical Function.

Because downstream command handling (handle_cmd()) trusts any session issued by Sessions.create(), the design implicitly relies on a trust assumption about callers that is not technically enforced.

Abstractly, this pattern reflects a security boundary violation where a high-impact action (controlling spacecraft commands) is exposed without a mandatory authentication and access control layer.

Potential impact

  • An attacker may issue arbitrary spacecraft commands through the AIT command bus.
  • An attacker could disrupt mission operations, including mode changes, resets, or unsafe command sequences.
  • An attacker can interfere with testing and simulation environments, corrupting validation results or rehearsals.
  • An attacker may masquerade as a legitimate operator, obscuring forensic analysis and operator accountability.
  • A successful attack could undermine confidence in operational tooling and require extensive re‑verification of mission procedures.
  • An attacker may issue arbitrary spacecraft commands through the AIT command bus.
  • An attacker could disrupt mission operations, including mode changes, resets, or unsafe command sequences.
  • An attacker can interfere with testing and simulation environments, corrupting validation results or rehearsals.
  • An attacker may masquerade as a legitimate operator, obscuring forensic analysis and operator accountability.
  • A successful attack could undermine confidence in operational tooling and require extensive re‑verification of mission procedures.

General mitigation guidance

Effective mitigation focuses on restoring a strong authentication and authorization boundary around command-capable interfaces.

Common defensive patterns include:

  • Enforcing mandatory authentication on all session-creation and command-dispatch endpoints, using well-reviewed identity mechanisms.
  • Introducing role-based or capability-based authorization checks that gate any command-related operation, even after session establishment.
  • Designing APIs so that command pathways cannot be reached without passing through centralized access-control middleware.
  • Restricting network exposure of the AIT GUI to segmented, least-privilege networks and using strong access-control lists at the transport layer.
  • Applying defense-in-depth by separating human operator interfaces from automated command channels and limiting which components can originate spacecraft commands.

Effective mitigation focuses on restoring a strong authentication and authorization boundary around command-capable interfaces.

Common defensive patterns include:

  • Enforcing mandatory authentication on all session-creation and command-dispatch endpoints, using well-reviewed identity mechanisms.
  • Introducing role-based or capability-based authorization checks that gate any command-related operation, even after session establishment.
  • Designing APIs so that command pathways cannot be reached without passing through centralized access-control middleware.
  • Restricting network exposure of the AIT GUI to segmented, least-privilege networks and using strong access-control lists at the transport layer.
  • Applying defense-in-depth by separating human operator interfaces from automated command channels and limiting which components can originate spacecraft commands.

How teams detect issues like this

Detection efforts typically combine architectural review and targeted inspection of critical interfaces.

Useful strategies include:

  • Static analysis or manual review to identify controller or service methods that create sessions, issue commands, or interact with the command bus without explicit authentication and authorization checks.
  • Architecture-level threat modeling to verify that all paths to spacecraft command functions traverse a consistent access-control layer.
  • Logging and monitoring of session-creation calls and command-dispatch events, with anomaly detection for unknown sources or unusual calling patterns.
  • Policy-based enforcement that flags any newly introduced endpoints capable of managing sessions or commands unless they are wired through standard auth middleware.
  • Use of automated application security testing tools to identify routes that accept requests without authentication requirements in mission-critical components.

Detection efforts typically combine architectural review and targeted inspection of critical interfaces.

Useful strategies include:

  • Static analysis or manual review to identify controller or service methods that create sessions, issue commands, or interact with the command bus without explicit authentication and authorization checks.
  • Architecture-level threat modeling to verify that all paths to spacecraft command functions traverse a consistent access-control layer.
  • Logging and monitoring of session-creation calls and command-dispatch events, with anomaly detection for unknown sources or unusual calling patterns.
  • Policy-based enforcement that flags any newly introduced endpoints capable of managing sessions or commands unless they are wired through standard auth middleware.
  • Use of automated application security testing tools to identify routes that accept requests without authentication requirements in mission-critical components.

Sources

SourceLink
github.comgithub.com/NASA-AMMOS/AIT-GUI/blob/2.5.1/CHANGELOG.md
github.comgithub.com/NASA-AMMOS/AIT-GUI/commit/beb8fc0813eded89f985d3eb9a73535dd327726d
github.comgithub.com/NASA-AMMOS/AIT-GUI/releases/tag/2.5.1
vulncheck.comvulncheck.com/advisories/ait-gui-missing-authentication-via-sessions-create

Frequently asked

questions

It is broadly exploitable wherever the AIT GUI is network-accessible to untrusted users or segments.

Any party that can reach the Sessions.create() endpoint can obtain a session and send commands, regardless of operator status.

An attacker only needs network connectivity to the affected AIT GUI instance.

No username, password, or prior authentication is required to create a session or issue commands once connected.

The safest fix is to require strong authentication for all session-creation endpoints and to enforce authorization checks on every command-dispatch path.

Command-capable APIs should be fronted by a unified access-control mechanism so that no direct path to the command bus exists without identity verification and privilege evaluation.

Future systems should treat session management and command interfaces as critical-security functions during design.

This includes consistently applying authentication middleware, centralizing authorization checks, performing threat modeling on command pathways, and enforcing coding standards that prohibit unauthenticated access to any operation capable of affecting mission assets.

It is broadly exploitable wherever the AIT GUI is network-accessible to untrusted users or segments.

Any party that can reach the Sessions.create() endpoint can obtain a session and send commands, regardless of operator status.

An attacker only needs network connectivity to the affected AIT GUI instance.

No username, password, or prior authentication is required to create a session or issue commands once connected.

The safest fix is to require strong authentication for all session-creation endpoints and to enforce authorization checks on every command-dispatch path.

Command-capable APIs should be fronted by a unified access-control mechanism so that no direct path to the command bus exists without identity verification and privilege evaluation.

Future systems should treat session management and command interfaces as critical-security functions during design.

This includes consistently applying authentication middleware, centralizing authorization checks, performing threat modeling on command pathways, and enforcing coding standards that prohibit unauthenticated access to any operation capable of affecting mission assets.

Find out what's already
exploitable in your codebase.