Skip to content
Heist/ feed
Back to feed
Critical

--disallow-code-generation-from-strings is not sufficient for isolating untrusted JavaScript in happy-dom

Type: advisorySources: OSV

In versions before 20.0.2, it was found that --disallow-code-generation-from-strings is not sufficient for isolating untrusted JavaScript in happy-dom. The untrusted script and the rest of the application still run in the same Isolate/process, so attackers can deploy prototype pollution payloads to hijack important references like "process" in the example below, or to hijack control flow via flipping checks of undefined property. This vulnerability is due to an incomplete fix for CVE-2025-61927. The vulnerability is fixed in 20.0.2.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2025-62410
Confirmed fixed CVEs
Not specified
Updated in this feed
5 Nov 2026, 05:56 UTC · Revision 1

Source evidence

--disallow-code-generation-from-strings is not sufficient for isolating untrusted JavaScript in happy-dom

core-osv · Original source

Published 15 Oct 2025, 17:16 UTC

In versions before 20.0.2, it was found that --disallow-code-generation-from-strings is not sufficient for isolating untrusted JavaScript in happy-dom. The untrusted script and the rest of the application still run in the same Isolate/process, so attackers can deploy prototype pollution payloads to hijack important references like "process" in the example below, or to hijack control flow via flipping checks of undefined property. This vulnerability is due to an incomplete fix for CVE-2025-61927. The vulnerability is fixed in 20.0.2.

osv:CVE-2025-62410
Complete source record
{
  "id": "45d64068472e9239e3d9752d66138f3ff82130f6f270cff304ccd5e1d882c567",
  "url": "https://osv.dev/vulnerability/CVE-2025-62410",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "--disallow-code-generation-from-strings is not sufficient for isolating untrusted JavaScript in happy-dom",
    "summary": "In versions before 20.0.2, it was found that --disallow-code-generation-from-strings is not sufficient for isolating untrusted JavaScript in happy-dom. The untrusted script and the rest of the application still run in the same Isolate/process, so attackers can deploy prototype pollution payloads to hijack important references like \"process\" in the example below, or to hijack control flow via flipping checks of undefined property. This vulnerability is due to an incomplete fix for CVE-2025-61927. The vulnerability is fixed in 20.0.2.",
    "evidence": "osv:CVE-2025-62410",
    "products": [],
    "severity": "critical",
    "structured": {
      "id": "CVE-2025-62410",
      "aliases": [
        "CVE-2025-62410",
        "GHSA-qpm2-6cq5-7pq5"
      ],
      "metrics": [
        {
          "type": "CVSS_V4",
          "score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/capricorn86/happy-dom",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "f4bd4ebe3fe5abd2be2bcea1c07043c8b0b70eea"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "20.0.2"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "fixed": "f4bd4ebe3fe5abd2be2bcea1c07043c8b0b70eea"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  },
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "20.0.2"
                      }
                    ],
                    "source": "DESCRIPTION"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v20.0.1",
            "v20.0.0",
            "v19.0.2",
            "v19.0.1",
            "v19.0.0",
            "v18.0.1",
            "v18.0.0",
            "v17.6.3",
            "v17.6.2",
            "v17.6.1",
            "v17.6.0",
            "v17.5.9",
            "v17.5.8",
            "v17.5.7",
            "v17.5.6",
            "v17.5.5",
            "v17.5.4",
            "v17.5.3",
            "v17.5.2",
            "v17.5.1",
            "v17.5.0",
            "v17.4.9",
            "v17.4.8",
            "v17.4.7",
            "v17.4.6",
            "v17.4.5",
            "v17.4.4",
            "v17.4.3",
            "v17.4.2",
            "v17.4.1",
            "v17.4.0",
            "v17.3.2",
            "v17.3.1",
            "v17.3.0",
            "v17.2.4",
            "v17.2.3",
            "v17.2.2",
            "v17.2.1",
            "v17.2.0",
            "v17.1.13",
            "v17.1.12",
            "v17.1.11",
            "v17.1.10",
            "v17.1.9",
            "v17.1.8",
            "v17.1.7",
            "v17.1.6",
            "v17.1.5",
            "v17.1.4",
            "v17.1.3",
            "v17.1.2",
            "v17.1.1",
            "v17.1.0",
            "v17.0.4",
            "v17.0.3",
            "v17.0.2",
            "v17.0.1",
            "v17.0.0",
            "v16.8.1",
            "v16.8.0",
            "v16.7.3",
            "v16.7.2",
            "v16.7.1",
            "v16.7.0",
            "v16.6.0",
            "v16.5.3",
            "v16.5.2",
            "v16.5.1",
            "v16.5.0",
            "v16.4.3",
            "v16.4.2",
            "v16.4.1",
            "v16.4.0",
            "v16.3.0",
            "v16.2.9",
            "v16.2.8",
            "v16.2.7",
            "v16.2.6",
            "v16.2.5",
            "v16.2.4",
            "v16.2.3",
            "v16.2.2",
            "v16.2.1",
            "v16.2.0",
            "v16.1.0",
            "v16.0.1",
            "v16.0.0",
            "v15.11.7",
            "v15.11.6",
            "v15.11.5",
            "v15.11.4",
            "v15.11.3",
            "v15.11.2",
            "v15.11.1",
            "v15.11.0",
            "v15.10.8",
            "v15.10.7",
            "v15.10.6",
            "v15.10.5",
            "v15.10.4",
            "v15.10.3",
            "v15.10.2",
            "v15.10.1",
            "v15.10.0",
            "v15.9.0",
            "v15.8.5",
            "v15.8.4",
            "v15.8.3",
            "v15.8.2",
            "v15.8.1",
            "v15.8.0",
            "v15.7.4",
            "v15.7.3",
            "v15.7.2",
            "v15.7.1",
            "v15.7.0",
            "v15.6.1",
            "v15.6.0",
            "v15.5.0",
            "v15.4.3",
            "v15.4.2",
            "v15.4.1",
            "v15.4.0",
            "v15.3.2",
            "v15.3.1",
            "v15.3.0",
            "v15.2.0",
            "v15.1.0",
            "v15.0.0",
            "v14.12.3",
            "v14.12.2",
            "v14.12.1",
            "v14.12.0",
            "v14.11.4",
            "v14.11.3",
            "v14.11.2",
            "v14.11.1",
            "v14.11.0",
            "v14.10.3",
            "v14.10.2",
            "v14.10.1",
            "v14.10.0",
            "v14.9.0",
            "v14.8.3",
            "v14.8.2",
            "v14.8.1",
            "v14.8.0",
            "v14.7.1",
            "v14.7.0",
            "v14.6.2",
            "v14.6.1",
            "v14.6.0",
            "v14.5.2",
            "v14.5.1",
            "v14.5.0",
            "v14.4.0",
            "v14.3.9",
            "v14.3.10",
            "v14.3.8",
            "v14.3.7",
            "v14.3.6",
            "v14.3.5",
            "v14.3.4",
            "v14.3.3",
            "v14.3.2",
            "v14.3.1",
            "v14.3.0",
            "v14.2.1",
            "v14.2.0",
            "v14.1.2",
            "v14.1.1",
            "v14.1.0",
            "v14.0.0",
            "v13.10.1",
            "v13.10.0",
            "v13.9.0",
            "v13.8.6",
            "v13.8.5",
            "v13.8.4",
            "v13.8.3",
            "v13.8.2",
            "v13.8.1",
            "v13.8.0",
            "v13.7.8",
            "v13.7.7",
            "v13.7.6",
            "v13.7.5",
            "v13.7.4",
            "v13.7.3",
            "v13.7.2",
            "v13.7.1",
            "v13.7.0",
            "v13.6.2",
            "v13.6.1",
            "v13.6.0",
            "v13.5.3",
            "v13.5.2",
            "v13.5.1",
            "v13.5.0",
            "v13.4.1",
            "v13.4.0",
            "v13.3.8",
            "v13.3.7",
            "v13.3.6",
            "v13.3.5",
            "v13.3.4",
            "v13.3.3",
            "v13.3.2",
            "v13.3.1",
            "v13.3.0",
            "v13.2.2",
            "v13.2.1",
            "v13.2.0",
            "v13.1.4",
            "v13.1.3",
            "v13.1.2",
            "v13.1.1",
            "v13.1.0",
            "v13.0.7",
            "v13.0.6",
            "v13.0.5",
            "v13.0.4",
            "v13.0.3",
            "v13.0.2",
            "v13.0.1",
            "v13.0.0",
            "v12.10.3",
            "v12.10.2",
            "v12.10.1",
            "v12.10.0",
            "v12.9.2",
            "v12.9.1",
            "v12.9.0",
            "v12.8.1",
            "v12.8.0",
            "v12.7.0",
            "v12.6.0",
            "v12.5.1",
            "v12.5.0",
            "v12.4.0",
            "v12.3.0",
            "v12.2.2",
            "v12.2.1",
            "v12.2.0",
            "v12.1.7",
            "v12.1.6",
            "v12.1.5",
            "v12.1.4",
            "v12.1.3",
            "v12.1.2",
            "v12.1.1",
            "v12.1.0",
            "v12.0.1",
            "v12.0.0",
            "v11.2.0",
            "v11.1.2",
            "v11.1.1",
            "v11.1.0",
            "v11.0.6",
            "v11.0.5",
            "v11.0.4",
            "v11.0.3",
            "v11.0.2",
            "v11.0.1",
            "v11.0.0",
            "v10.11.2",
            "v10.11.1",
            "v10.11.0",
            "v10.10.4",
            "v10.10.3",
            "v10.10.2",
            "v10.10.1",
            "v10.10.0",
            "v10.9.0",
            "v10.8.1",
            "v10.8.0",
            "v10.7.0",
            "v10.6.2",
            "v10.6.3",
            "v10.6.1",
            "v10.6.0",
            "v10.5.3",
            "v10.5.2",
            "v10.5.1",
            "v10.5.0",
            "v10.3.2",
            "v10.4.0",
            "v10.3.1",
            "v10.3.0",
            "v10.2.0",
            "v10.1.1",
            "v10.1.0",
            "v10.0.7",
            "v10.0.5",
            "v10.0.6",
            "v10.0.4",
            "v10.0.3",
            "v10.0.2",
            "v10.0.1",
            "v10.0.0",
            "v9.20.3",
            "v9.20.2",
            "v9.20.1",
            "v9.20.0",
            "v9.19.2",
            "v9.19.1",
            "v9.19.0",
            "v9.18.3",
            "v9.18.2",
            "v9.18.1",
            "v9.18.0",
            "v9.17.0",
            "v9.16.0",
            "v9.15.0",
            "v9.13.0",
            "v9.14.0",
            "v9.13.1",
            "v9.12.0",
            "v9.11.0",
            "v9.10.9",
            "v9.10.8",
            "v9.10.7",
            "v9.10.6",
            "v9.10.5",
            "v9.10.4",
            "v9.10.3",
            "v9.10.2",
            "v9.10.1",
            "v9.10.0",
            "v9.9.2",
            "v9.9.1",
            "v9.9.0",
            "v9.8.4",
            "v9.8.3",
            "v9.8.2",
            "v9.8.1",
            "v9.8.0",
            "v9.7.1",
            "v9.3.2",
            "v9.7.0",
            "v9.6.1",
            "v9.6.0",
            "v9.5.1",
            "v9.5.0",
            "v9.4.0",
            "v9.3.1",
            "v9.3.0",
            "v8.9.0",
            "v9.2.1",
            "v9.2.0",
            "v9.1.10",
            "v9.1.9",
            "v9.1.7",
            "v9.1.8",
            "v9.1.6",
            "v9.1.5",
            "v9.1.4",
            "v9.1.3",
            "v9.1.2",
            "v9.1.1",
            "v9.1.0",
            "v9.0.1",
            "v9.0.0",
            "v8.8.0",
            "v8.7.6",
            "v8.7.5",
            "v8.7.4",
            "v8.7.3",
            "v8.7.2",
            "v8.7.1",
            "v8.7.0",
            "v8.6.0",
            "v8.5.0",
            "v8.4.4",
            "v8.4.3",
            "v8.4.2",
            "v8.4.1",
            "v8.4.0",
            "v8.3.2",
            "v8.3.1",
            "v8.3.0",
            "v0.9.0",
            "v0.8.5",
            "v0.8.4",
            "v0.8.3",
            "v0.8.0",
            "v0.7.0",
            "v0.6.0",
            "v0.5.0",
            "v0.4.4",
            "v0.4.3",
            "v0.4.2",
            "v0.4.1",
            "v0.4.0",
            "v0.3.1",
            "v0.3.0",
            "v0.2.16",
            "v0.2.0",
            "v0.14.0",
            "v0.13.0",
            "v0.12.0",
            "v0.11.1",
            "v0.11.0",
            "v0.10.7",
            "v0.10.6",
            "v0.10.1",
            "v0.10.0",
            "v0.1.0",
            "v0.0.1"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2025-62410.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:42.944978310Z",
      "provider": "osv",
      "references": [
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/62xxx/CVE-2025-62410.json",
        "https://github.com/capricorn86/happy-dom/security/advisories/GHSA-qpm2-6cq5-7pq5",
        "https://nvd.nist.gov/vuln/detail/CVE-2025-62410",
        "https://github.com/capricorn86/happy-dom/commit/f4bd4ebe3fe5abd2be2bcea1c07043c8b0b70eea"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-1321"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/62xxx/CVE-2025-62410.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2025-62410",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 510873,
  "published_at": "2025-10-15T17:16:21.561+00:00"
}