{"id":"CVE-2026-96757","summary":"orval before 8.29.0 Code Injection via unescaped OpenAPI media-type","details":"orval before 8.29.0 fails to escape OpenAPI media-type keys when emitting them into single-quoted Content-Type string literals in generated code. Attackers can inject JavaScript through crafted media-type keys in OpenAPI specifications that executes when generated fetch operations or mock resolvers are invoked.","modified":"2026-09-25T03:48:29.070593895Z","published":"2026-09-23T16:23:55.164Z","related":["GHSA-4q3x-rqfw-3x8p","GHSA-rcpr-mq4m-jx9j"],"database_specific":{"cna_assigner":"VulnCheck","cwe_ids":["CWE-94"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/96xxx/CVE-2026-96757.json"},"references":[{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/96xxx/CVE-2026-96757.json"},{"type":"ADVISORY","url":"https://github.com/orval-labs/orval/security/advisories/GHSA-4q3x-rqfw-3x8p"},{"type":"ADVISORY","url":"https://github.com/orval-labs/orval/security/advisories/GHSA-rcpr-mq4m-jx9j"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-96757"},{"type":"ADVISORY","url":"https://www.vulncheck.com/advisories/orval-before-8.29.0-code-injection-via-unescaped-openapi-media-type"},{"type":"FIX","url":"https://github.com/orval-labs/orval/commit/43af282d62dca0ef3140023741fb768f6a718adb"},{"type":"FIX","url":"https://github.com/orval-labs/orval/commit/a2d4af59f3b167dc8a7a65d15f51cdb89ebe2fe5"},{"type":"FIX","url":"https://github.com/orval-labs/orval/pull/4007"},{"type":"PACKAGE","url":"https://github.com/orval-labs/orval"},{"type":"ARTICLE","url":"https://github.com/orval-labs/orval/blob/v8.28.1/packages/fetch/src/index.ts#L584"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/orval-labs/orval","events":[{"introduced":"667d0d4fdb032d53f8dcb1d18aa1268a1ae8e3af"},{"fixed":"3ea429d1161c0470cf34c08052821214ad908835"}],"database_specific":{"extracted_events":[{"introduced":"6.7.1"},{"fixed":"8.29.0"}],"source":"AFFECTED_FIELD"}}],"versions":["v8.28.1","v8.27.0","v8.26.0","v8.25.0","v8.24.0","v8.23.0","v8.22.0","v8.21.0","v8.20.0","v8.19.0","v8.18.0","v8.17.0","v8.16.0","v8.15.0","v8.14.0","v8.13.0","v8.12.3","v8.12.2","v8.12.1","v8.11.0","v8.10.0","v8.9.1","v8.9.0","v8.8.1","v8.8.0","v8.7.0","v8.6.2","v8.6.1","v8.6.0","v8.5.3","v8.5.2","v8.5.1","v8.5.0","v8.4.2","v8.4.1","v8.4.0","v8.3.0","v8.2.0","v8.0.3","v8.0.2","v8.0.1","v8.0.0","v8.0.0-rc.6","v8.0.0-rc.5","v8.0.0-rc.4","v8.0.0-rc.3","v8.0.0-rc.2","v7.15.0","v8.0.0-rc.1","v8.0.0-rc.0","v7.14.0","v7.13.2","v7.13.1","v7.13.0","v7.12.2","v7.12.1","v7.12.0","v7.11.2","v7.11.1","v7.11.0","v7.10.0","v7.9.0","v7.8.0","v7.7.0","v7.6.0","v7.5.0","v7.4.1","v7.4.0","v7.3.0","v7.2.0","v7.1.1","v7.1.0","v7.0.1","v7.0.0","v6.31.0","v6.30.2","v6.30.1","v6.30.0","v6.29.1","v6.29.0","v6.28.2","v6.28.1","v6.28.0","v6.27.1","v6.27.0","v6.26.0","v6.25.0","v6.24.0","v6.23.0","v6.22.1","v6.22.0","v6.21.0","v6.20.0","v6.19.1","v6.19.0","v6.18.1","v6.18.0","v6.17.0","v6.16.0","v6.15.0","v6.14.4","v6.14.3","v6.14.2","v6.14.1","v6.14.0","v6.13.1","v6.13.0","v6.12.1","v6.12.0","v6.11.1","v6.11.0","v6.10.3","v6.10.2","v6.9.6","v6.9.5","v6.9.4","v6.9.3","v6.9.2","v6.9.1","v6.9.0","v6.8.1","v6.8.0","v6.7.1"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-96757.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V4","score":"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"}]}