☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
[ VENDOR STATS ]
SOON 🐛 CWE-94
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2026-71864

CVE-2026-71864 Code Execution in Orval
📅 PUBLISHED: 2026-08-19 00:00 UTC 🔄 UPDATED: 2026-09-23 20:42 UTC
[ PATCH UNDER REVIEW ↓ ] Remains UNDER REVIEW until an independent source confirms the fix
[ DEFENSE PATCH ↓ ]
💣 PoC: Public
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.61%
👁️
0.61% probability
15.2× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1190
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
VULNERABLE: version not auto-detected — verify your deployed version locally
CVSS SEVERITY SCALE
9.0–10.0 CRITICAL
7.0–8.9 HIGH
4.0–6.9 MEDIUM
0.1–3.9 LOW
0.0 NONE
SOON
PENDING NVD
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2026-71864 is a code injection vulnerability (CWE-94) in Orval, a widely used TypeScript code generation tool that produces type-safe JavaScript clients from OpenAPI v3 and Swagger v2 specifications. Versions prior to 8.21.0 fail to safely encode double quotes appearing in header parameter names, resulting in attacker-controlled JavaScript being emitted directly into generated Zod validation schemas. When a developer, CI pipeline, test suite, or application imports the generated zod schema module, the injected payload executes in that environment. The vulnerability is fixed in Orval version 8.21.0; no public exploit has been observed, and no CISA KEV listing exists at the time of writing.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Technical Analysis

The vulnerability resides in the Orval code generator's handling of header parameter names when producing request-validation schemas. The NVD description identifies packages/zod/src/index.ts as the affected code location, specifically the header request-validation generation path.

Vulnerability Mechanism:

Orval parses OpenAPI v3 and Swagger v2 specifications to generate TypeScript clients. When constructing a zod.object({...}) schema for request header validation, parameter names from the OpenAPI specification are embedded directly into the generated code. Prior to version 8.21.0, a double quote character (") in a header parameter name is emitted into the output without safe encoding or escaping.

For example, if an OpenAPI specification defines a header parameter named:

X-Malicious")); code_execution_here(); //

Orval would generate JavaScript code containing this string verbatim inside the zod schema object. Because the value is placed inside quoted string literals in the generated validation code, an unescaped double quote terminates the string literal prematurely. Any JavaScript that follows the double quote becomes executable code in the generated module.

Attack Surface:

This vulnerability is part of a supply chain attack vector. The attacker does not target the Orval runtime directly, but rather exploits the code generation pipeline. The malicious payload is injected into the OpenAPI/Swagger specification file, which can be:

  1. Sourced from a compromised third-party API — A developer generates a client for a third-party API whose specification has been tampered with.
  2. Delivered via a malicious package — An npm package or Git repository contains a poisoned OpenAPI specification.
  3. Submitted via pull requests — A contributor with write access (or a compromised maintainer account) introduces a malicious spec file.
  4. Served from an insecure API registry — A public API catalog serving tampered specs.

Code-Level Explanation (Class-Level):

The root cause is an injection point in a code generator. Code generators that embed input strings directly into output code without proper escaping are vulnerable to code injection (CWE-94). The injection point is the header parameter name, which is an unlikely place for developers to look when reviewing generated code. The zod.object({...}) structure means the payload executes at module import time — i.e., whenever the generated TypeScript file is loaded by Node.js, a bundler, or a test runtime.

Detailed Flow:

  1. Orval parses header parameter names from the OpenAPI spec.
  2. These names are concatenated into a string template that produces the zod validation schema.
  3. Without escaping, a double quote in the header name terminates the string literal in the generated JavaScript.
  4. The remainder of the payload is emitted as code rather than string content.
  5. Upon module import (driven by require() or import), the payload executes.

Exploitation Scenarios

Clarification: The NVD description provides no public PoC or exploit code. No Nuclei template exists. The attack chain below is inferred strictly from the vulnerability class (code injection in a code generator) and the description details. Specific payload structures are not available from the description.

Scenario 1: Malicious Upstream API Specification

  1. Reconnaissance/Target Identification: An attacker identifies a developer or organization that generates clients with Orval from a specific third-party API specification. The attacker targets the repository or registry that serves the OpenAPI/Swagger JSON/YAML files for that API.
  2. Trigger: The attacker injects a header parameter named with embedded double quotes and JavaScript (e.g., X-Data; process.mainModule.require('child_process').exec('calc')) into the specification. The victim runs Orval to regenerate their client.
  3. Payload Execution: The generated zod schema file executes the payload when imported in the developer's editor (via type-checking tools), during CI test runs, or in the production application runtime.
  4. Impact: Depending on execution context, the attacker achieves code execution with the privileges of the user running the build/test/application. This can lead to credential theft, source code exfiltration, supply chain propagation (if CI artifacts are signed), or lateral movement.

Scenario 2: Compromised Open Source Project

  1. Reconnaissance: An attacker targets a popular open-source project that uses Orval to generate its API client from a public spec file.
  2. Trigger: The attacker submits a pull request modifying the spec file to include the malicious header parameter, or compromises the maintainer's repository access. The victim's CI pipeline regenerates and builds the client automatically.
  3. Payload Execution: The CI environment executes the payload during the build step, leading to shell access inside the CI runner. The attacker can then exfiltrate secrets stored in CI environment variables or SSH keys.
  4. Post-Exploitation: The attacker uses CI access to tamper with release artifacts, poisoning downstream consumers of the npm package.

Scenario 3: Insecure API Registry / Documentation Portal

  1. Reconnaissance: Attackers target public API directories (e.g., API marketplaces, documentation sites) that allow user-submitted OpenAPI specifications.
  2. Trigger: The attacker uploads a malicious spec to the directory. Developers who use Orval to generate clients from these specs become victims.
  3. Payload Execution: The payload triggers when the developer runs the generated code locally, enabling ransomware or credential theft on the developer's workstation.

Limitations of Public Information: No public PoC is available. The exact JavaScript syntax required to break out of the generated string becomes dependent on Orval's code template, which is not fully disclosed in the NVD description. Insufficient technical detail is available for a byte-accurate payload construction.

Impact Assessment

Business Impact: The affected population includes any development team using Orval for API client generation, particularly those consuming third-party or user-submitted OpenAPI specifications. The vulnerability is a supply chain risk because it enables code execution within the software development lifecycle (SDLC), which is often overlooked as an attack surface.

Impact Type Severity Notes
Data Confidentiality High Code execution in developer/CI environments can exfiltrate source code, credentials, and API keys
Data Integrity High Attackers can modify generated code, build scripts, or release artifacts
System Availability Medium Code execution could be used to deploy ransomware or wipe build environments
Supply Chain Propagation Critical If a compromised CI signs or publishes artifacts, downstream consumers are affected

Affected Systems:

  • Developers using Orval < 8.21.0 for local client generation.
  • CI/CD pipelines (Jenkins, GitHub Actions, GitLab CI) that run Orval as part of the build.
  • Test environments using generated zod validation schemas.
  • Production applications that import the generated TypeScript modules directly.

CVSS Assessment: No CVSS vector was assigned by the CNA. Based on the attack vector (network-delivered via spec file), complexity (medium — requires tampered spec), and impact (code execution), a reasonable estimate would be in the 7.0–8.0 range (High), but this is speculative. Enterprise teams should treat this as a High-severity supply chain risk until formal CVSS scoring is published.

Blast Radius: The blast radius is the entire software supply chain of any organization using Orval. A single malicious spec file can compromise every environment it touches in the pipeline.

Detection Guidance

Detection challenges: No network traffic is required for exploitation if the malicious spec file is already present. The exploit is triggered at build/import time. Detection should therefore focus on:

  1. Changes to OpenAPI/Swagger spec files that introduce unusual characters in header parameter names.
  2. Unexpected code execution or process spawning during the build/import step.
  3. Generated JavaScript files containing non-standard syntax or injected strings.

Sigma Rule

title: Suspicious Header Parameter in OpenAPI Spec Executing Code
id: 3d8f8a9c-2e4f-5b6d-8f1e-9a2b3c4d5e6f
status: experimental
description: Detects an OpenAPI spec file (JSON/YAML) containing a header parameter name with embedded double quotes potentially used for CVE-2026-71864
references:
  - https://nvd.nist.gov/vuln/detail/CVE-2026-71864
author: Valtersit Threat Intelligence
date: 2026/02/18
logsource:
  category: file_event
  product: generic
detection:
  selection:
    TargetFilename|endswith:
      - '.yaml'
      - '.yml'
      - '.json'
  selection_headers:
    # Look for OpenAPI schema content
    TargetFilename|contains:
      - 'openapi'
      - 'swagger'
      - 'api'
  selection_pattern:
    # Double quote escaping inside header parameter names
    - '*
👁️ SHODAN DORKS (THREAT HUNTING)

What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.

http.title:"Swagger UI"
http.html:"openapi" "swagger"
http.title:"API Documentation"

💣 PoC CODE AVAILABLE

Exploit code for this CVE is tracked in our database. Access poc_code via API Pro.

[ API_PRO ] →
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2026-71864/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.