Skip to main content

Orval CVE-2026-62680

| EUVDEUVD-2026-62659 HIGH
Path Traversal (CWE-22)
2026-08-19 GitHub_M GHSA-cxq5-97v7-87j8
7.1
CVSS 3.1 · Vendor: GitHub_M
Share

Severity by source

Vendor (GitHub_M) PRIMARY
7.1 HIGH
AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:L/A:N
vuln.today AI
7.1 HIGH

Network-delivered via crafted spec with no attacker privileges; UI:R since victim must invoke Orval; high confidentiality from SSRF and arbitrary file read.

3.1 AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:A/VC:H/VI:L/VA:N/SC:L/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
Required
Scope
Unchanged
Confidentiality
High
Integrity
Low
Availability
None

Lifecycle Timeline

4
Patch available
Aug 19, 2026 - 19:18 EUVD
Source Code Evidence Fetched
Aug 19, 2026 - 18:31 vuln.today
Analysis Generated
Aug 19, 2026 - 18:31 vuln.today
CVE Published
Aug 19, 2026 - 17:42 cve.org
HIGH 7.1

DescriptionCVE.org

Orval generates type-safe JavaScript clients in TypeScript from OpenAPI v3 and Swagger v2 specifications. Prior to 8.22.0, Orval resolves remote and local external $ref values without an allowlist or confinement to the input directory. Processing an attacker-controlled OpenAPI description can cause requests from the developer or CI host to attacker-selected or internal HTTP services, read absolute or out-of-tree local files, and inline untrusted remote schemas into generated clients. The affected code is packages/orval/src/import-specs.ts external reference loading. This issue is fixed in version 8.22.0.

AnalysisAI

External $ref resolution in Orval prior to version 8.22.0 allows server-side request forgery and path traversal against the developer or CI host that processes an attacker-controlled OpenAPI or Swagger specification. Any OpenAPI description containing crafted $ref values - pointing to internal HTTP services, cloud metadata endpoints such as the AWS IMDSv1 endpoint, or absolute local file paths - is resolved unconditionally by Orval's import-specs.ts loader with no allowlist or directory confinement. Beyond data exfiltration, untrusted remote schemas are inlined directly into the generated TypeScript client, potentially introducing malicious type definitions into downstream codebases. No active exploitation is confirmed (not in CISA KEV), but the network-delivery path with no authentication requirement makes this a meaningful supply chain risk for teams that process third-party OpenAPI descriptions.

Technical ContextAI

Orval (cpe:2.3:a:orval-labs:orval:*:*:*:*:*:*:*:*) is a TypeScript codegen tool that parses OpenAPI v3 and Swagger v2 specifications and emits strongly-typed HTTP client code. OpenAPI and Swagger schemas support $ref pointers that reference external documents via local file paths or remote URLs. CWE-22 (Path Traversal) captures the root cause: prior to 8.22.0, the external reference loader in packages/orval/src/import-specs.ts performed no confinement to the input directory and maintained no allowlist of permitted targets, so any $ref value - including absolute paths like /etc/passwd or URLs pointing to 169.254.169.254 - was resolved and its content incorporated into the code generation pipeline. The fix in v8.22.0 (PR #3723, commit 23786c056) introduces an externalRefs.allow configuration defaulting to an empty list (block all external refs by default), with an explicit opt-in wildcard ['*'] that restores pre-fix behavior with a warning. The vulnerability spans both SSRF and path traversal primitives simultaneously, making it a compound information-disclosure issue.

RemediationAI

Upgrade to orval version 8.22.0 or later; the vendor-released patch is confirmed at https://github.com/orval-labs/orval/releases/tag/v8.22.0 with the underlying fix in PR #3723. Version 8.22.0 changes the default behavior to block all external $ref resolution - teams that legitimately require external references must explicitly list trusted document targets in parserOptions.externalRefs.allow. Using the wildcard allow: ['*'] restores the old behavior but emits a warning and should be treated as a temporary measure only for internally audited specs. As a compensating control where immediate upgrade is not feasible, restrict Orval execution to OpenAPI specs sourced exclusively from internally controlled, audited repositories, and run Orval in a network-isolated container with no access to cloud metadata endpoints (e.g., blocking 169.254.169.254) and no host secret mounts - this limits SSRF and file-read blast radius but does not prevent malicious schema injection into generated output files.

More in Orval

View all
CVE-2026-22785 CRITICAL POC
9.8 Jan 12

orval (TypeScript API client generator) before 7.18.0 has code injection via OpenAPI specification summary fields in MCP

CVE-2026-72717 CRITICAL POC
9.3 Aug 19

Arbitrary code execution in Orval (orval-labs/orval) before 8.21.0 allows an attacker who controls an OpenAPI v3 or Swag

CVE-2026-72716 CRITICAL POC
9.3 Aug 19

Code injection in Orval before 8.21.0 lets an attacker-controlled OpenAPI v3 or Swagger v2 specification execute arbitra

CVE-2026-62681 CRITICAL POC
9.3 Aug 19

Code injection in Orval before 8.21.0 lets an attacker who controls an OpenAPI v3 or Swagger v2 specification embed exec

CVE-2026-62682 CRITICAL POC
9.3 Aug 19

Arbitrary code execution in Orval before 8.21.0 arises when the code generator emits an unescaped backtick (or ${...}) f

CVE-2026-71867 CRITICAL POC
9.3 Aug 19

Code injection in Orval, a TypeScript/JavaScript API client generator, allows a malicious OpenAPI v3 or Swagger v2 speci

CVE-2026-71868 CRITICAL POC
9.3 Aug 19

Code execution in Orval before 8.21.0 occurs when its zod schema generator processes an attacker-controlled OpenAPI v3 o

CVE-2026-71865 CRITICAL POC
9.3 Aug 19

Code injection in Orval before 8.21.0 lets an attacker-controlled OpenAPI v3 / Swagger v2 specification achieve arbitrar

CVE-2026-71869 CRITICAL POC
9.3 Aug 19

Arbitrary code execution in Orval (OpenAPI/Swagger TypeScript client generator) before 8.21.0 lets an attacker who contr

CVE-2026-71864 CRITICAL POC
9.3 Aug 19

Code injection in Orval (orval-labs/orval) before 8.21.0 allows an attacker who controls an OpenAPI v3 or Swagger v2 spe

CVE-2026-71871 CRITICAL POC
9.3 Aug 19

Code injection in Orval, a TypeScript client generator for OpenAPI v3 and Swagger v2 specs, allows arbitrary JavaScript

CVE-2026-71866 CRITICAL POC
9.3 Aug 19

I analyzed the provided intelligence and produced the synthesis below. One thing to flag first: **⚠️ Prompt-injection n

Share

CVE-2026-62680 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy