GitHub Advisoryadvisory · npm

GHSA-h526-wf6g-67jv Orval has a code injection via unsanitized x-enum-descriptions in enum generation

CRITICAL Published 2026-01-21 Modified 2026-01-21 Official page ↗
Aliases
CVE-2026-23947
Ecosystem
npm
Packages
@orval/core
Severity
Critical
CVSS vector
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Weaknesses
CWE-77, CWE-94
Reviewed
2026-01-21

Affected packages

• npm @orval/core: >= 8.0.0-rc.0, < 8.0.2 → fixed in 8.0.2 • npm @orval/core: < 7.19.0 → fixed in 7.19.0

Description

Impact Arbitrary code execution in environments consuming generated clients This issue is similar in nature to the recently-patched MCP vulnerability (CVE-2026-22785), but affects a different code path in @orval/core that was not addressed by that 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. Patches Upgrade to Orval 8.0.2 References An example OpenAPI showing the issue: ```yaml openapi: 3.0.4 info: title: Enum PoC version: "1.0.0" paths: /ping: get: operationId: ping responses: "200": description: ok content: application/json: schema: $ref: "#/components/schemas/EvilEnum" components: schemas: EvilEnum: type: string enum: • PWNED x-enumDescriptions: • "pwned */ require('child_process').execSync('id'); /*" ```

Related

Alias · CVE (1)

  • CVE-2026-23947 Orval generates type-safe JS clients (TypeScript) from any valid OpenAPI v3 or Swagger v2 specification. vulnerability

Weakness · CWE (2)

  • CWE-77 Improper Neutralization of Special Elements used in a Command weakness
  • CWE-94 Improper Control of Generation of Code weakness

References