Skip to content
Heist/ feed
Back to feed
Critical

Orval: RCE via OpenAPI path -> unescaped request-URL template literal (backtick breakout)

Type: advisorySources: OSV

Orval generates type-safe JavaScript clients in TypeScript from OpenAPI v3 and Swagger v2 specifications. Prior to 8.21.0, an unescaped backtick in an OpenAPI path is emitted into request URL template literals generated for axios, fetch, react-query, and SWR clients without safe encoding. This permits attacker-controlled JavaScript to be evaluated when a generated request, URL-builder, or query-key function is called, resulting in code execution in the developer, CI, test, or application environment. The affected code is packages/core/src/getters/route.ts and route generation consumers. This issue is fixed in version 8.21.0.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-62681
Confirmed fixed CVEs
Not specified
Updated in this feed
3 Nov 2026, 16:11 UTC · Revision 1

Source evidence

Orval: RCE via OpenAPI path -> unescaped request-URL template literal (backtick breakout)

core-osv · Original source

Published 19 Aug 2026, 17:31 UTC

Orval generates type-safe JavaScript clients in TypeScript from OpenAPI v3 and Swagger v2 specifications. Prior to 8.21.0, an unescaped backtick in an OpenAPI path is emitted into request URL template literals generated for axios, fetch, react-query, and SWR clients without safe encoding. This permits attacker-controlled JavaScript to be evaluated when a generated request, URL-builder, or query-key function is called, resulting in code execution in the developer, CI, test, or application environment. The affected code is packages/core/src/getters/route.ts and route generation consumers. This issue is fixed in version 8.21.0.

osv:CVE-2026-62681
Complete source record
{
  "id": "c48713125e74097f1522afe6c35f57cf85313054d7eb911f712d9eb45c093506",
  "url": "https://osv.dev/vulnerability/CVE-2026-62681",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Orval: RCE via OpenAPI path -> unescaped request-URL template literal (backtick breakout)",
    "summary": "Orval generates type-safe JavaScript clients in TypeScript from OpenAPI v3 and Swagger v2 specifications. Prior to 8.21.0, an unescaped backtick in an OpenAPI path is emitted into request URL template literals generated for axios, fetch, react-query, and SWR clients without safe encoding. This permits attacker-controlled JavaScript to be evaluated when a generated request, URL-builder, or query-key function is called, resulting in code execution in the developer, CI, test, or application environment. The affected code is packages/core/src/getters/route.ts and route generation consumers. This issue is fixed in version 8.21.0.",
    "evidence": "osv:CVE-2026-62681",
    "products": [],
    "severity": "critical",
    "structured": {
      "id": "CVE-2026-62681",
      "aliases": [
        "CVE-2026-62681",
        "GHSA-fg9p-mrxr-hvq7"
      ],
      "metrics": [
        {
          "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"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/orval-labs/orval",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "1d1a1d07b8faf1615bfd4b06c7783a3a51c038df"
                },
                {
                  "fixed": "8ef1bfdf3f9bcaf9dabfbe2e42887f1c0e159ab6"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "8.21.0"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "fixed": "8ef1bfdf3f9bcaf9dabfbe2e42887f1c0e159ab6"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  },
                  {
                    "range": [
                      {
                        "fixed": "1d1a1d07b8faf1615bfd4b06c7783a3a51c038df"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "v8.21.0"
                  }
                ]
              }
            }
          ],
          "versions": [
            "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",
            "v6.7.0",
            "v6.6.4",
            "v6.6.3",
            "v6.6.2",
            "v6.6.1",
            "v6.6.0",
            "v6.5.3",
            "v6.5.2",
            "v6.5.1",
            "v6.5.0",
            "v6.4.3",
            "v6.4.2",
            "v6.4.1",
            "v6.4.0",
            "v6.3.0",
            "v6.2.3",
            "v6.2.2",
            "v6.2.1",
            "v6.2.0",
            "v6.1.2",
            "v6.1.1",
            "v6.1.0",
            "v6.0.4",
            "v6.0.3",
            "v6.0.2",
            "v6.0.1",
            "v6.0.0",
            "v5.5.0",
            "v5.4.14",
            "v5.4.13",
            "v5.4.12",
            "v5.4.11",
            "v5.4.10",
            "v5.4.9",
            "v5.4.8",
            "v5.4.7",
            "v5.4.6",
            "v5.4.5",
            "v5.4.4",
            "v5.4.3",
            "v5.4.2",
            "v5.4.1",
            "v5.4.0",
            "v5.3.2",
            "v5.3.1",
            "v5.3.0",
            "v5.2.0",
            "v5.1.4",
            "v5.1.3",
            "v5.1.2",
            "v5.1.1",
            "v5.1.0",
            "v5.0.0",
            "v4.2.0",
            "v3.2.3",
            "v3.2.2",
            "v3.2.1",
            "v3.2.0",
            "v3.1.9",
            "v3.1.8",
            "v3.1.7",
            "v3.1.6",
            "v3.1.5",
            "v3.1.4",
            "v3.1.3",
            "v3.1.2",
            "v3.1.1",
            "v3.1.0",
            "v3.0.3",
            "v3.0.2",
            "v3.0.1",
            "v3.0.0",
            "v2.6.0",
            "v2.5.9",
            "v2.5.8",
            "v2.5.7",
            "v2.5.6",
            "v2.5.5",
            "v2.5.4",
            "v2.5.3",
            "v2.5.2",
            "v2.5.1",
            "v2.5.0",
            "v2.4.1",
            "v2.4.0",
            "v2.3.1",
            "v2.3.0",
            "v2.2.2",
            "v2.2.1",
            "v2.2.0",
            "v2.1.2",
            "v2.1.1",
            "v2.1.0",
            "v2.0.7",
            "v2.0.6",
            "v2.0.5",
            "v2.0.4",
            "v2.0.3",
            "v2.0.2",
            "v2.0.1",
            "v2.0.0"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-62681.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:30.319270595Z",
      "provider": "osv",
      "references": [
        "https://github.com/orval-labs/orval/releases/tag/v8.21.0",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/62xxx/CVE-2026-62681.json",
        "https://github.com/orval-labs/orval/security/advisories/GHSA-fg9p-mrxr-hvq7",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-62681",
        "https://github.com/orval-labs/orval/commit/8ef1bfdf3f9bcaf9dabfbe2e42887f1c0e159ab6",
        "https://github.com/orval-labs/orval/pull/3692"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-116",
          "CWE-1336",
          "CWE-94"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/62xxx/CVE-2026-62681.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-62681",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 497176,
  "published_at": "2026-08-19T17:31:02.756+00:00"
}