Cyber Resilience

CVE-2026-23947

RCE in Orval ≤ 7.19.0

Published
20 January 2026
Modified
27 February 2026
Patch / advisory
CVSS Score v4 9.3
Click a component to see what it means
Raw vectorCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
EPSS Score 0.0078 53th percentile
Risk Priority 47 floored blend · peak EPSS

CVSS and EPSS are reproduced from their sources (NVD, FIRST EPSS). Risk Priority is our own derived reading, not an NVD score.

Summary

CVE-2026-23947 is a critical-severity Command Injection (CWE-77) vulnerability in Orval Orval. Its CVSS base score is 9.3 (Critical).

Operationally, exploitation aligns with the MITRE ATT&CK technique Command and Scripting Interpreter (T1059); ranked in the top 47% of CVEs by exploit likelihood; it is not currently listed in the CISA KEV catalog.

The strongest mitigations our analysis identified map to SA-11 (Developer Testing and Evaluation) and SI-10 (Information Input Validation) — see the control section below for these in your framework.

Deeper analysis AI-assisted summary

Synthesised by an AI model from the NVD description and linked references — a reading aid, not an authoritative source.

CVE-2026-23947 is an arbitrary code execution vulnerability in Orval, a tool that generates type-safe JavaScript/TypeScript clients from OpenAPI v3 or Swagger v2 specifications. It affects versions prior to 7.19.0 up to but not including 8.0.2, specifically in the @orval/core package. The issue arises when untrusted OpenAPI specifications inject arbitrary TypeScript/JavaScript code via the x-enumDescriptions field, which is embedded without proper escaping in the getEnumImplementation() function during const enum generation. This results in executable code within the generated schema files. The vulnerability is scored at CVSS 9.8 (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H) and is associated with CWE-77 (Command Injection) and CWE-94 (Code Injection). It shares similarities with CVE-2026-22785 but impacts a different code path not addressed by that fix.

An attacker can exploit this vulnerability by supplying a malicious OpenAPI specification to a victim using a vulnerable Orval version for client generation. No privileges or user interaction are required, enabling remote exploitation over the network with low complexity. Successful exploitation leads to arbitrary code execution in the environment where the generated clients are consumed, potentially allowing full compromise including high confidentiality, integrity, and availability impacts.

The Orval security advisory (GHSA-h526-wf6g-67jv) and release notes for v8.0.2 detail the fix, which properly escapes the x-enumDescriptions field in getEnumImplementation(). Mitigation requires upgrading to Orval 7.19.0 or 8.0.2, where the patch prevents code injection during enum generation.

OWASP Top 10 for Web (2025)

EU & UK References

Vulnerability Data

Orval generates type-safe JS clients (TypeScript) from any valid OpenAPI v3 or Swagger v2 specification. Versions prior to 7.19.0 until 8.0.2 are vulnerable to arbitrary code execution in environments consuming generated clients. This issue is similar in nature to CVE-2026-22785,…

more

but affects a different code path in @orval/core that was not addressed by CVE-2026-22785's fix. The vulnerability allows untrusted OpenAPI specifications to inject arbitrary TypeScript/JavaScript code into generated clients via the x-enumDescriptions field, which is embedded without proper escaping in getEnumImplementation(). I have confirmed that the injection occurs during const enum generation and results in executable code within the generated schema files. Orval 7.19.0 and 8.0.2 contain a fix for the issue.

CWE(s)

Related Threats

MITRE ATT&CK Enterprise Techniques

T1059 Command and Scripting Interpreter Execution
Adversaries may abuse command and script interpreters to execute commands, scripts, or binaries.
T1190 Exploit Public-Facing Application Initial Access
Adversaries may attempt to exploit a weakness in an Internet-facing host or system to initially access a network.
T1059.001 PowerShell Execution
Adversaries may abuse PowerShell commands and scripts for execution.
T1059.002 AppleScript Execution
Adversaries may abuse AppleScript for execution.
T1059.003 Windows Command Shell Execution
Adversaries may abuse the Windows command shell for execution.
T1059.004 Unix Shell Execution
Adversaries may abuse Unix shell commands and scripts for execution.
Derived from this CVE’s CWE(s) via the direct CWE→ATT&CK cross-walk.

CVEs Like This One

CVE-2026-24132Same product: Orval Orval
CVE-2026-25141Same product: Orval Orval
CVE-2023-1097Shared CWE-77, CWE-94
CVE-2023-20209Shared CWE-77, CWE-94
CVE-2024-0325Shared CWE-77, CWE-94
CVE-2024-9264Shared CWE-77, CWE-94
CVE-2024-44466Shared CWE-77, CWE-94
CVE-2023-29566Shared CWE-77, CWE-94
CVE-2025-25675Shared CWE-77, CWE-94
CVE-2023-30638Shared CWE-77, CWE-94

Affected Assets

orval
orval
≤ 7.19.0 · 8.0.0 — 8.0.2

Mitigating Controls

Control response

Prevent
Stop it (NIST 800-53)

—

Detect
Catch it (NIST detect / respond)

—

Harden
Shrink the surface (DISA STIG)

—

Validate
Prove the fix (OWASP ASVS)
  • V1.2.3
  • V1.2.5
  • V1.2.8
  • V1.2.9

Mitigating Controls (NIST 800-53 r5) AI

Developer testing and evaluation can discover command-construction flaws before deployment.

Input validation directly stops construction of commands from untrusted data containing special elements.

Least privilege limits the damage an injected code fragment can perform once executed.

Requiring documented secure development standards and tools enforces use of safe code-generation APIs and escaping.

Secure engineering principles include proper neutralization and safe command construction practices.

Mitigating Controls (NIST CSF 2.0) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.

PR.PS-06 mostly match
prevents

Secure SDLC practices directly require input validation and neutralization that prevent command injection.

DE.CM-09 partial match
prevents

Runtime monitoring of software and data can detect anomalous command execution resulting from injection.

ID.RA-01 partial match
prevents

Identifying recorded vulnerabilities enables remediation of command-injection flaws before exploitation.

PR.DS-10 none match
prevents

PR.DS-10 protects runtime data confidentiality/integrity but has no bearing on neutralizing externally influenced input during code generation, so neither direction shows any preventive effect.

Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.

prevents

Secure coding standards require proper escaping and parameterization of commands, directly eliminating CWE-77.

finds

Security testing in development catches command-injection vulnerabilities before release.

prevents

Secure development life cycle mandates input validation and command construction practices that directly prevent command injection.

prevents

Application security requirements explicitly call for controls against injection flaws including command injection.

prevents

Secure architecture principles reduce the attack surface but do not prescribe the specific neutralization techniques needed.

References