CVE-2026-71214

NASA-AMMOS plandev - Client-Supplied session_variables Bypass Hasura-Origin Authorization in sequencing-server

Published Aug 5, 2026 CVSS 3.1 · 9.8 Critical EPSS < 1% KEV · Not listed
Description
The Aerie/PlanDev sequencing-server's authorization middleware (sequencing-server/src/app.ts) derives the caller's Hasura session role via getHasuraSession, which prefers a session_variables object taken directly from the client-supplied JSON request body over the Authorization header's JWT claims, with no verification that the request actually originated from Hasura.

Analysis

AI-generated

Technical impact

The authorization middleware in NASA-AMMOS PlanDev's sequencing-server incorrectly prefers a session_variables object supplied in the request body over the JWT claims in the Authorization header, without verifying the origin of the request. An unauthenticated attacker can craft a POST request to /command-expansion/put-expansion with a body containing {\"session_variables\":{\"x-hasura-role\":\"aerie_admin\"}} and no Authorization header, thereby passing the role check and inserting arbitrary expansion rules into the sequencing.expansion_rule table. These rules dictate how spacecraft activities are translated into command sequences, effectively enabling the attacker to dictate commands executed by the spacecraft. Additionally, the /put-dictionary endpoint is whitelisted and exempt from authentication, so attackers can also write arbitrary command dictionaries without any credentials.

Affected Systems

NASA-AMMOS PlanDev sequencing-server. No specific version information is listed; all releases of the sequencing-server component are susceptible.

Risk and Exploitability

The vulnerability is rated CVSS 9.8, indicating a critical severity. The EPSS score of <1% indicates a low probability of exploitation, reflecting that real-world attacks are rare but can occur if the server is exposed to untrusted networks. The vulnerability is not listed in CISA KEV, yet its impact on spacecraft command integrity is potentially catastrophic. The likely attack vector is a remote HTTP request to the exposed POST endpoints, requiring no special infrastructure beyond network connectivity to the sequencing-server.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Deploy the latest patched release of NASA-AMMOS PlanDev from the official GitHub repository, which removes the preference for client‑supplied session_variables and enforces Hasura JWT validation.
  • Configure the server to require a valid Authorization header for all endpoints, especially /command-expansion/put-expansion and /put-dictionary, and disable any endpoint whitelist that bypasses authentication.
  • Implement request validation to reject any JSON payload containing a session_variables field that attempts to override the role claim, ensuring only server‑generated session data is accepted.
  • If a patch is not immediately available, restrict external access to the sequencing-server by firewall rules, allowing traffic only from trusted internal networks or a bastion host, to mitigate the risk of unauthorized command insertion.

Generated by OpenCVE AI on August 10, 2026 at 22:23 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories available
References
History
Type Values Removed Values Added
Description The Aerie/PlanDev sequencing-server's authorization middleware (sequencing-server/src/app.ts) derives the caller's Hasura session role via getHasuraSession(), which prefers a session_variables object taken directly from the client-supplied JSON request body over the Authorization header's JWT claims, with no verification that the request actually originated from Hasura. By setting {"session_variables":{"x-hasura-role":"aerie_admin"}} in the body of a request to POST /command-expansion/put-expansion with no Authorization header, an unauthenticated attacker satisfies the role check and can insert arbitrary expansion rules into sequencing.expansion_rule, which govern how spacecraft activities are translated into commands. Separately, POST /put-dictionary is explicitly listed in the ENDPOINTS_WHITELIST and is exempt from any authentication, allowing unauthenticated writes of command dictionaries. The Aerie/PlanDev sequencing-server's authorization middleware (sequencing-server/src/app.ts) derives the caller's Hasura session role via getHasuraSession, which prefers a session_variables object taken directly from the client-supplied JSON request body over the Authorization header's JWT claims, with no verification that the request actually originated from Hasura.
Type Values Removed Values Added
Title NASA-AMMOS plandev: Client-Supplied session_variables Bypass Hasura-Origin Authorization in sequencing-server NASA-AMMOS plandev - Client-Supplied session_variables Bypass Hasura-Origin Authorization in sequencing-server
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}

Type Values Removed Values Added
First Time appeared Nasa-ammos
Nasa-ammos plandev (sequencing-server)
Vendors & Products Nasa-ammos
Nasa-ammos plandev (sequencing-server)
Type Values Removed Values Added
Description The Aerie/PlanDev sequencing-server's authorization middleware (sequencing-server/src/app.ts) derives the caller's Hasura session role via getHasuraSession(), which prefers a session_variables object taken directly from the client-supplied JSON request body over the Authorization header's JWT claims, with no verification that the request actually originated from Hasura. By setting {"session_variables":{"x-hasura-role":"aerie_admin"}} in the body of a request to POST /command-expansion/put-expansion with no Authorization header, an unauthenticated attacker satisfies the role check and can insert arbitrary expansion rules into sequencing.expansion_rule, which govern how spacecraft activities are translated into commands. Separately, POST /put-dictionary is explicitly listed in the ENDPOINTS_WHITELIST and is exempt from any authentication, allowing unauthenticated writes of command dictionaries.
Title NASA-AMMOS plandev: Client-Supplied session_variables Bypass Hasura-Origin Authorization in sequencing-server
Weaknesses CWE-306
References
Metrics cvssV3_1

{'score': 9.8, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'}

Weaknesses
  • CWE-306

    Missing Authentication for Critical Function

Sources

Status
PUBLISHED
Assigner
TuranSec
Published
Updated
Aug 10, 2026, 11:45 AM
Reserved
Aug 5, 2026, 6:56 AM
Status
Deferred
Published
Aug 5, 2026, 8:16 AM
Modified
Oct 24, 2026, 3:10 PM