Severity by source
AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:L/A:N
Network-delivered via crafted spec with no attacker privileges; UI:R since victim must invoke Orval; high confidentiality from SSRF and arbitrary file read.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:L/A:N
Lifecycle Timeline
4DescriptionCVE.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. …
Unlock full vulnerability intelligence
- Risk assessment & exploitation conditions
- Attack chain visualization
- Remediation with exact patch versions
- Threat intelligence from 22 sources
- Personal watchlist & email alerts
Free forever · No credit card required
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata
Vulnerability AssessmentAI
| Exploitation | Exploitation requires that a victim - a developer or automated CI/CD job - runs Orval against an OpenAPI or Swagger specification containing attacker-controlled external $ref values. … Additional conditions and limiting factors are described in the full assessment. |
| Risk Assessment | CVSS 7.1 with AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:L/A:N reflects a realistic risk picture: the attack is network-deliverable with no credentials needed, but UI:R correctly captures that a developer or automated CI pipeline must actively invoke Orval against the malicious spec. … Full risk analysis with EPSS, KEV, and SSVC signal comparison available after sign-in. |
| Exploit Scenario | An attacker publishes a malicious OpenAPI specification - for example, as a public third-party API description or embedded in an open-source project - containing $ref values such as http://169.254.169.254/latest/meta-data/iam/security-credentials/ or a relative path traversal like ../../../.aws/credentials. When a developer or CI pipeline runs Orval against this spec, Orval fetches and inlines all referenced content without restriction, exfiltrating cloud credentials or internal service responses while simultaneously embedding the attacker's schema definitions into the committed generated TypeScript client. … |
| Remediation | 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. … Detailed patch versions, workarounds, and compensating controls in full report. |
Recommended ActionAI
Within 24 hours: identify all projects and build systems using Orval versions prior to 8.22.0 and audit which consume external or third-party OpenAPI specifications. …
Sign in for detailed remediation steps and compensating controls.
Threat intelligence, references, and detailed analysis are available after sign-in.
orval (TypeScript API client generator) before 7.18.0 has code injection via OpenAPI specification summary fields in MCP
Orval TypeScript code generator versions 7.19+ have a command injection vulnerability allowing RCE through malicious Ope
Orval, a TypeScript API client generator, has a command injection vulnerability that allows code execution through malic
Code injection in Orval TypeScript API client generator versions 7.19.0 to before 7.22.0. Generated client code may be v
Arbitrary code execution in Orval before 8.21.0 arises when the code generator emits an unescaped backtick (or ${...}) f
Arbitrary code execution in Orval (orval-labs/orval) before 8.21.0 allows an attacker who controls an OpenAPI v3 or Swag
Code injection in Orval, a TypeScript/JavaScript API client generator, allows a malicious OpenAPI v3 or Swagger v2 speci
Code execution in Orval before 8.21.0 occurs when its zod schema generator processes an attacker-controlled OpenAPI v3 o
Code injection in Orval before 8.21.0 lets an attacker-controlled OpenAPI v3 / Swagger v2 specification achieve arbitrar
Arbitrary code execution in Orval (OpenAPI/Swagger TypeScript client generator) before 8.21.0 lets an attacker who contr
Code injection in Orval (orval-labs/orval) before 8.21.0 allows an attacker who controls an OpenAPI v3 or Swagger v2 spe
Code injection in Orval, a TypeScript client generator for OpenAPI v3 and Swagger v2 specs, allows arbitrary JavaScript
Same weakness CWE-22 – Path Traversal
View allSame technique Path Traversal
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-62659