Skip to content
Heist/ feed
Back to feed
High

Deno has an incomplete fix for command-injection prevention on Windows — case-insensitive extension bypass

Type: advisorySources: OSV

Deno is a JavaScript, TypeScript, and WebAssembly runtime. Before 2.5.6, a prior patch aimed to block spawning Windows batch/shell files by returning an error when a spawned path’s extension matched .bat or .cmd. That check performs a case-sensitive comparison against lowercase literals and therefore can be bypassed when the extension uses alternate casing (for example .BAT, .Bat, etc.). This vulnerability is fixed in 2.5.6.

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

Source evidence

Deno has an incomplete fix for command-injection prevention on Windows — case-insensitive extension bypass

core-osv · Original source

Published 15 Jan 2026, 22:58 UTC

Deno is a JavaScript, TypeScript, and WebAssembly runtime. Before 2.5.6, a prior patch aimed to block spawning Windows batch/shell files by returning an error when a spawned path’s extension matched .bat or .cmd. That check performs a case-sensitive comparison against lowercase literals and therefore can be bypassed when the extension uses alternate casing (for example .BAT, .Bat, etc.). This vulnerability is fixed in 2.5.6.

osv:CVE-2026-22864
Complete source record
{
  "id": "e9457bf32a9471dbcc3cb5531f079f9a9f56fe7b4e4313e2a018a8042da6ed70",
  "url": "https://osv.dev/vulnerability/CVE-2026-22864",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Deno has an incomplete fix for command-injection prevention on Windows — case-insensitive extension bypass",
    "summary": "Deno is a JavaScript, TypeScript, and WebAssembly runtime. Before 2.5.6, a prior patch aimed to block spawning Windows batch/shell files by returning an error when a spawned path’s extension matched .bat or .cmd. That check performs a case-sensitive comparison against lowercase literals and therefore can be bypassed when the extension uses alternate casing (for example .BAT, .Bat, etc.). This vulnerability is fixed in 2.5.6.",
    "evidence": "osv:CVE-2026-22864",
    "products": [],
    "severity": "high",
    "structured": {
      "id": "CVE-2026-22864",
      "aliases": [
        "CVE-2026-22864",
        "GHSA-m3c4-prhw-mrx6"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/denoland/deno",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "1b5f3112af364a3327b26f720746819c4f20f20d"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "2.5.6"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "fixed": "1b5f3112af364a3327b26f720746819c4f20f20d"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "v2.5.6"
                  },
                  {
                    "cpe": "cpe:2.3:a:deno:deno:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "2.5.6"
                      }
                    ],
                    "source": "CPE_RANGE"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v2.3.0",
            "v2.5.5",
            "v2.5.4",
            "v2.5.3",
            "v2.5.2",
            "v2.5.1",
            "v2.5.0",
            "v2.4.5",
            "v2.4.4",
            "v2.4.3",
            "v2.4.2",
            "v2.4.1",
            "v2.4.0",
            "v2.3.7",
            "v2.3.6",
            "v2.3.5",
            "v2.3.4",
            "v2.3.3",
            "v2.3.2",
            "v2.3.1",
            "v2.2.0",
            "v2.1.0",
            "v2.0.0",
            "v1.46.0",
            "v1.45.0",
            "v1.44.0",
            "v1.43.1",
            "v1.43.0",
            "v1.42.0",
            "v1.41.0",
            "v1.40.0",
            "v1.39.0",
            "v1.38.0",
            "v1.37.0",
            "v1.36.0",
            "v1.35.0",
            "v1.34.0",
            "v1.33.0",
            "v1.32.0",
            "v1.31.0",
            "v1.30.0",
            "v1.29.0",
            "v1.28.0",
            "v1.27.0",
            "v1.26.0",
            "v1.25.0",
            "v1.24.0",
            "v1.23.0",
            "v1.22.0",
            "v1.21.0",
            "v1.20.1",
            "v1.20.0",
            "v1.19.0",
            "v1.18.0",
            "v1.17.0",
            "v1.16.2",
            "v1.16.1",
            "v1.16.0",
            "v1.15.3",
            "v1.15.2",
            "v1.15.1",
            "v1.15.0",
            "v1.14.2",
            "v1.14.1",
            "v1.14.0",
            "v1.13.2",
            "v1.13.1",
            "v1.13.0",
            "v1.12.2",
            "v1.12.1",
            "v1.12.0",
            "v1.11.2",
            "v1.11.1",
            "v1.11.0",
            "v1.10.1",
            "v1.10.0",
            "v1.9.2",
            "v1.9.1",
            "v1.9.0",
            "v1.8.2",
            "v1.8.1",
            "v1.8.0",
            "v1.7.4",
            "v1.7.3",
            "v1.7.2",
            "v1.7.1",
            "std/0.85.0",
            "v1.7.0",
            "std/0.84.0",
            "v1.6.3",
            "std/0.83.0",
            "v1.6.2",
            "std/0.82.0",
            "v1.6.1",
            "std/0.81.0",
            "v1.6.0",
            "std/0.80.0",
            "v1.5.4",
            "std/0.79.0",
            "v1.5.3",
            "std/0.78.0",
            "v1.5.2",
            "std/0.77.0",
            "v1.5.1",
            "std/0.76.0",
            "v1.5.0",
            "std/0.75.0",
            "v1.4.6",
            "v1.4.5",
            "std/0.74.0",
            "v1.4.4",
            "std/0.73.0",
            "v1.4.3",
            "std/0.72.0",
            "v1.4.2",
            "std/0.71.0",
            "v1.4.1",
            "std/0.70.0",
            "v1.4.0",
            "std/0.69.0",
            "v1.3.3",
            "std/0.68.0",
            "v1.3.2",
            "std/0.67.0",
            "v1.3.1",
            "std/0.66.0",
            "v1.3.0",
            "std/0.65.0",
            "v1.2.3",
            "std/0.64.0",
            "v1.2.2",
            "std/0.63.0",
            "v1.2.1",
            "std/0.62.0",
            "v1.2.0",
            "std/0.61.0",
            "v1.1.3",
            "std/0.60.0",
            "v1.1.2",
            "std/0.59.0",
            "v1.1.1",
            "std/0.58.0",
            "v1.1.0",
            "std/0.57.0",
            "v1.0.5",
            "std/0.56.0",
            "v1.0.4",
            "std/0.55.0",
            "v1.0.3",
            "std/0.54.0",
            "v1.0.2",
            "std/0.53.0",
            "v1.0.1",
            "std/0.52.0",
            "std/0.51.0",
            "v1.0.0",
            "v1.0.0-rc3",
            "v1.0.0-rc2",
            "std/0.50.0",
            "v1.0.0-rc1",
            "v0.42.0",
            "std/0.42.0",
            "v0.41.0",
            "std/0.41.0",
            "v0.40.0",
            "std/0.40.0",
            "v0.39.0",
            "std/0.39.0",
            "v0.38.0",
            "std/0.38.0",
            "v0.37.1",
            "v0.37.0",
            "std/0.37.0",
            "v0.36.0",
            "std/0.36.0",
            "v0.35.0",
            "std/0.35.0",
            "v0.34.0",
            "std/0.34.0",
            "v0.33.0",
            "v0.32.0",
            "v0.31.0",
            "v0.30.1",
            "v0.30.0",
            "v0.29.0",
            "v0.28.1",
            "v0.28.0",
            "v0.27.0",
            "v0.26.0",
            "v0.25.0",
            "v0.24.0",
            "v0.23.0",
            "v0.22.0",
            "v0.21.0",
            "v0.20.0",
            "v0.19.0",
            "v0.18.0",
            "v0.17.0",
            "v0.16.0",
            "v0.15.0",
            "v0.14.0",
            "v0.13.0",
            "v0.12.0",
            "v0.11.0",
            "v0.10.0",
            "v0.9.0",
            "v0.8.0",
            "v0.7.0",
            "v0.6.0",
            "v0.5.0",
            "v0.4.0",
            "v0.3.11",
            "v0.3.10",
            "v0.3.9",
            "v0.3.8",
            "v0.3.7",
            "v0.3.6",
            "v0.3.5",
            "v0.3.4",
            "v0.3.3",
            "v0.3.2",
            "v0.3.1",
            "v0.3.0",
            "v0.2.11",
            "v0.2.10",
            "v0.2.9",
            "v0.2.8",
            "v0.2.7",
            "v0.2.6",
            "v0.2.5",
            "v0.2.4",
            "v0.2.3",
            "v0.2.2",
            "v0.2.1",
            "v0.2.0",
            "v0.1.12",
            "v0.1.11",
            "v0.1.10",
            "v0.1.9",
            "v0.1.8",
            "v0.1.7",
            "v0.1.6",
            "v0.1.5",
            "v0.1.4",
            "v0.1.3",
            "v0.1.2",
            "v0.1.1",
            "v0.1.0",
            "v0.0.3",
            "v0.0.1"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-22864.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:30.402118851Z",
      "provider": "osv",
      "references": [
        "https://github.com/denoland/deno/releases/tag/v2.5.6",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/22xxx/CVE-2026-22864.json",
        "https://github.com/denoland/deno/security/advisories/GHSA-m3c4-prhw-mrx6",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-22864"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-77"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/22xxx/CVE-2026-22864.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-22864",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 497361,
  "published_at": "2026-01-15T22:58:52.463+00:00"
}