{
  "fix": "Node.js 25.8.2",
  "url": "https://patchblox.com/security/fix/windows-app/openjs.nodejs-25.8.2",
  "summary": "Node.js 25.8.2, released March 24, 2026, fixes 8 CVEs in Node.js. None of them is reported as exploited. Patch Radar priority: High. The latest Node.js is 26.12.1, which also fixes every one of these CVEs.",
  "platform": "windows-app",
  "type": "app-version",
  "title": "Node.js 25.8.2",
  "released": "2026-03-24T00:00:00Z",
  "priority": "High",
  "priorityTier": 3,
  "priorityReason": "Closes CVE-2026-21710, high severity",
  "supported": true,
  "cveCount": 8,
  "exploitedCveCount": 0,
  "kevCveCount": 0,
  "ransomwareCveCount": 0,
  "maxEpss": 0.25443,
  "maxCvss": 7.5,
  "appliesTo": [
    {
      "product": "Node.js",
      "productUrl": "https://patchblox.com/security/product/windows-app/node.js",
      "fixedVersion": "25.8.2",
      "latestVersion": "26.12.1",
      "supported": true
    }
  ],
  "supersededBy": {
    "product": "Node.js",
    "latestVersion": "26.12.1",
    "productUrl": "https://patchblox.com/security/product/windows-app/node.js"
  },
  "cves": [
    {
      "cveId": "CVE-2026-21710",
      "url": "https://patchblox.com/security/cve/CVE-2026-21710",
      "title": "A flaw in Node.js HTTP request handling causes an uncaught \u0060TypeError\u0060 when a request is received with a header named \u0060__proto__\u0060 and the application accesses \u0060req.headersDistinct\u0060.\n\nWhen this occurs, \u0060dest[\u0022__proto__\u0022]\u0060 resolves to \u0060Object.prototype\u0060 rather than \u0060undefined\u0060, causing \u0060.push()\u0060 to be called on a non-array. This exception is thrown synchronously inside a property getter and cannot be intercepted by \u0060error\u0060 event listeners, meaning it cannot be handled without wrapping every \u0060req.headersDistinct\u0060 access in a \u0060try/catch\u0060.\n\n* This vulnerability affects all Node.js HTTP servers on **20.x, 22.x, 24.x, and v25.x**",
      "priority": "High",
      "severity": "Important",
      "cvss": 7.5,
      "epss": 0.25443,
      "kev": false,
      "ransomware": false,
      "exploited": false,
      "disclosed": false
    },
    {
      "cveId": "CVE-2026-21714",
      "url": "https://patchblox.com/security/cve/CVE-2026-21714",
      "title": "Node.js 14 and 15 others: Missing Release of Memory after Effective Lifetime",
      "priority": "High",
      "severity": "Important",
      "cvss": 7.5,
      "epss": 0.00431,
      "kev": false,
      "ransomware": false,
      "exploited": false,
      "disclosed": false
    },
    {
      "cveId": "CVE-2026-21713",
      "url": "https://patchblox.com/security/cve/CVE-2026-21713",
      "title": "Node.js 14 and 15 others: Observable Timing Discrepancy",
      "priority": "High",
      "severity": "Important",
      "cvss": 7.5,
      "epss": 0.00366,
      "kev": false,
      "ransomware": false,
      "exploited": false,
      "disclosed": false
    },
    {
      "cveId": "CVE-2026-21712",
      "url": "https://patchblox.com/security/cve/CVE-2026-21712",
      "title": "A flaw in Node.js URL processing causes an assertion failure in native code when \u0060url.format()\u0060 is called with a malformed internationalized domain name (IDN) containing invalid characters, crashing the Node.js process.",
      "priority": "High",
      "severity": "Moderate",
      "cvss": 7.5,
      "epss": 0.00332,
      "kev": false,
      "ransomware": false,
      "exploited": false,
      "disclosed": false
    },
    {
      "cveId": "CVE-2026-21717",
      "url": "https://patchblox.com/security/cve/CVE-2026-21717",
      "title": "A flaw in V8\u0027s string hashing mechanism causes integer-like strings to be hashed to their numeric value, making hash collisions trivially predictable. By crafting a request that causes many such collisions in V8\u0027s internal string table, an attacker can significantly degrade performance of the Node.js process.\n\nThe most common trigger is any endpoint that calls \u0060JSON.parse()\u0060 on attacker-controlled input, as JSON parsing automatically internalizes short strings into the affected hash table.\n\nThis vulnerability affects **20.x, 22.x, 24.x, and 25.x**.",
      "priority": "High",
      "severity": "Moderate",
      "cvss": 7.5,
      "epss": 0.00273,
      "kev": false,
      "ransomware": false,
      "exploited": false,
      "disclosed": false
    },
    {
      "cveId": "CVE-2026-21711",
      "url": "https://patchblox.com/security/cve/CVE-2026-21711",
      "title": "Node.js 14 and 12 others: Improper Access Control",
      "priority": "High",
      "severity": "Important",
      "cvss": 7.5,
      "epss": 0.00166,
      "kev": false,
      "ransomware": false,
      "exploited": false,
      "disclosed": false
    },
    {
      "cveId": "CVE-2026-21715",
      "url": "https://patchblox.com/security/cve/CVE-2026-21715",
      "title": "Node.js 14 and 15 others: Incorrect Permission Assignment for Critical Resource",
      "priority": "High",
      "severity": "Important",
      "cvss": 7.5,
      "epss": 0.0015,
      "kev": false,
      "ransomware": false,
      "exploited": false,
      "disclosed": false
    },
    {
      "cveId": "CVE-2026-21716",
      "url": "https://patchblox.com/security/cve/CVE-2026-21716",
      "title": "Node.js 14 and 15 others: Missing Authorization",
      "priority": "High",
      "severity": "Important",
      "cvss": 7.5,
      "epss": 0.00142,
      "kev": false,
      "ransomware": false,
      "exploited": false,
      "disclosed": false
    }
  ],
  "dataAsOf": "2026-11-08T06:59:42Z",
  "attribution": {
    "text": "Data: Patchblox Patch Radar",
    "url": "https://patchblox.com/security/patch-radar",
    "terms": "https://patchblox.com/security/patch-radar/use-the-data"
  }
}