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.
Published: 2026-08-05
Score: 9.8 Critical
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

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. EPSS data is unavailable, but the lack of an authentication mechanism for the vulnerable endpoints implies a high likelihood of exploitation once 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.

Generated by OpenCVE AI on August 5, 2026 at 08:35 UTC.

Remediation

No vendor fix or workaround currently provided.

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 injection.

Generated by OpenCVE AI on August 5, 2026 at 08:35 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

References
History

Wed, 05 Aug 2026 07:30:00 +0000

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'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: TuranSec

Published:

Updated: 2026-08-05T06:59:32.771Z

Reserved: 2026-08-05T06:56:15.799Z

Link: CVE-2026-71214

cve-icon Vulnrichment

No data.

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-05T08:45:16Z

Weaknesses
  • CWE-306

    Missing Authentication for Critical Function