CVE-2026-71865: Orval: Import-time RCE via query parameter name -> computed-property-key injection in the zod cli
Orval generates type-safe JavaScript clients in TypeScript from OpenAPI v3 and Swagger v2 specifications. Prior to 8.21.0, a double quote in a query parameter name is emitted into the generated request-validation zod.object({...}) schema without safe encoding. This permits attacker-controlled JavaScript to be evaluated when the generated zod schema module is imported, resulting in code execution in the developer, CI, test, or application environment. The affected code is packages/zod/src/index.ts and query request-validation generation. This issue is fixed in version 8.21.0.
Security readout for executives and security teams
Plain-English summary
Orval before 8.21.0 can turn a malicious query-parameter name in an OpenAPI or Swagger specification into executable JavaScript. The code runs when the generated Zod validation module is imported, potentially compromising developer machines, CI systems, tests, or applications.
Executive priority
Prioritize immediate remediation where external, partner, or otherwise mutable specifications feed developer or CI generation. Successful exploitation can execute code with pipeline or application privileges. Upgrade and rebuild generated artifacts promptly, then review credentials and systems if suspicious specifications were processed.
Technical view
The Zod CLI’s query request-validation generator failed to safely encode a double quote in parameter names. This permits computed-property-key injection into generated zod.object code and subsequent JavaScript execution at module import. The affected implementation is packages/zod/src/index.ts. Orval 8.21.0 fixes the issue.
Likely exposure
Exposure requires Orval earlier than 8.21.0, Zod query request-validation generation, and generation from an attacker-controlled or compromised API specification. Importing the resulting module triggers execution. Environments consuming only trusted specifications may face lower likelihood, but compromised upstream specifications remain a supply-chain risk.
Exploitation context
The supplied CVSS 4.0 score is 9.3. The source bundle does not identify known public exploitation, and the CVE is not listed as KEV. Exploitation evidence is therefore incomplete; treat the vulnerability as highly consequential without claiming active attacks.
Researcher notes
CWE mappings are CWE-116, CWE-94, and CWE-95. The vulnerable boundary is specification text becoming JavaScript source without safe encoding. The source bundle identifies query parameter names, generated Zod request-validation objects, and import-time execution. It provides no evidence that unrelated Orval generators or parameter types are affected.
Mitigation direction
Upgrade Orval to version 8.21.0 or later.
Regenerate affected Zod validation modules after upgrading.
Review and restrict which OpenAPI or Swagger specifications can enter generation workflows.
Check the vendor advisory for any additional guidance or later corrections.
Validation and detection
Confirm installed and CI-resolved Orval versions are 8.21.0 or later.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · medium confidence lookup
CWE-116: User-session and phishing behavior lookup
Client-side and session-facing weaknesses should be reviewed alongside initial-access and user-execution behaviors. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
Code execution and unsafe deserialization weaknesses often justify reviewing execution behavior and process telemetry. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
Code execution and unsafe deserialization weaknesses often justify reviewing execution behavior and process telemetry. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
The CVE wording references code or command execution, so execution technique review may help defensive triage. This is a Glexia inferred lookup path, not an official MITRE, ATT&CK, or CVE Program mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
1CVSS vectors
3Timeline events
1ADP providers
5Source links
SSVC decision data
CISA-ADPCISA Coordinator
Timestamp
Version
2.0.3
Exploitation: noneAutomatable: yesTechnical Impact: total
CVSS vector scores
1 official score
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-116 · source CWE mapping
Improper Encoding or Escaping of Output
Improper Encoding or Escaping of Output represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.
Improper Control of Generation of Code represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.
Improper Neutralization of Directives in Dynamically Evaluated Code
Improper Neutralization of Directives in Dynamically Evaluated Code represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.