« Back to list

CVE-2026-70609

Status: Undergoing AnalysisMedium (5.7)—

Electron is a framework for writing cross-platform desktop applications using JavaScript, HTML and CSS. Prior to 39.8.7, 40.9.0, 41.2.0, and 42.0.0-beta.1, the mode option of webContents.openDevTools() was not sanitized before use by the DevTools frontend. If an attacker can influence this value, script under their control may run in the DevTools context, which in unsandboxed configurations has access to Node.js, including when untrusted input reaches the mode argument of openDevTools() or untrusted content calls openDevTools() on a webview it embeds. This issue is fixed in 39.8.7, 40.9.0, 41.2.0, and 42.0.0-beta.1.

CVSS

Exploitation probability (EPSS)

EPSS (Exploit Prediction Scoring System, FIRST) estimates how likely a vulnerability is to be exploited in the wild within 30 days. It complements CVSS (impact) and CISA KEV (confirmed exploitation).

Affected technologies (1)

⚠ AI-inferred from the description — NVD hasn't analyzed this CVE yet, these aren't verified CPEs.

CWEs

References

Raw JSON (NVD)

Show
{
  "id": "CVE-2026-70609",
  "cveTags": [],
  "metrics": {
    "ssvcV203": [
      {
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "ssvcData": {
          "id": "CVE-2026-70609",
          "role": "CISA Coordinator",
          "options": [
            {
              "exploitation": "none"
            },
            {
              "automatable": "no"
            },
            {
              "technicalImpact": "total"
            }
          ],
          "version": "2.0.3",
          "timestamp": "2026-08-05T00:00:00+00:00"
        }
      }
    ],
    "cvssMetricV31": [
      {
        "type": "Secondary",
        "source": "security-advisories@github.com",
        "cvssData": {
          "scope": "UNCHANGED",
          "version": "3.1",
          "baseScore": 5.7,
          "attackVector": "NETWORK",
          "baseSeverity": "MEDIUM",
          "vectorString": "CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:U/C:H/I:H/A:N",
          "integrityImpact": "HIGH",
          "userInteraction": "REQUIRED",
          "attackComplexity": "HIGH",
          "availabilityImpact": "NONE",
          "privilegesRequired": "HIGH",
          "confidentialityImpact": "HIGH"
        },
        "impactScore": 5.2,
        "exploitabilityScore": 0.5
      }
    ]
  },
  "affected": [
    {
      "source": "security-advisories@github.com",
      "affectedData": [
        {
          "vendor": "electron",
          "product": "electron",
          "versions": [
            {
              "status": "affected",
              "version": "< 39.8.7"
            },
            {
              "status": "affected",
              "version": ">= 40.0.0-alpha.1, < 40.9.0"
            },
            {
              "status": "affected",
              "version": ">= 41.0.0-alpha.1, < 41.2.0"
            },
            {
              "status": "affected",
              "version": ">= 42.0.0-alpha.1, < 42.0.0-beta.1"
            }
          ]
        }
      ]
    }
  ],
  "published": "2026-08-05T18:17:15.307",
  "references": [
    {
      "url": "https://github.com/electron/electron/commit/04614eed17986bddc43eb509ec870424ee6a47d1",
      "source": "security-advisories@github.com"
    },
    {
      "url": "https://github.com/electron/electron/commit/2046ae87731d80a7b535512ae19acb529e10e33b",
      "source": "security-advisories@github.com"
    },
    {
      "url": "https://github.com/electron/electron/commit/969741f9f847c5c583f6bbc63ca22549dbd954ce",
      "source": "security-advisories@github.com"
    },
    {
      "url": "https://github.com/electron/electron/commit/efc4d3c6b6f1c04f658ca0d9d2512dcfe78eb7ba",
      "source": "security-advisories@github.com"
    },
    {
      "url": "https://github.com/electron/electron/pull/50665",
      "source": "security-advisories@github.com"
    },
    {
      "url": "https://github.com/electron/electron/pull/50666",
      "source": "security-advisories@github.com"
    },
    {
      "url": "https://github.com/electron/electron/pull/50667",
      "source": "security-advisories@github.com"
    },
    {
      "url": "https://github.com/electron/electron/pull/50668",
      "source": "security-advisories@github.com"
    },
    {
      "url": "https://github.com/electron/electron/releases/tag/v39.8.7",
      "source": "security-advisories@github.com"
    },
    {
      "url": "https://github.com/electron/electron/releases/tag/v40.9.0",
      "source": "security-advisories@github.com"
    },
    {
      "url": "https://github.com/electron/electron/releases/tag/v41.2.0",
      "source": "security-advisories@github.com"
    },
    {
      "url": "https://github.com/electron/electron/releases/tag/v42.0.0-beta.1",
      "source": "security-advisories@github.com"
    },
    {
      "url": "https://github.com/electron/electron/security/advisories/GHSA-4f78-qhmw-8j8m",
      "source": "security-advisories@github.com"
    }
  ],
  "vulnStatus": "Undergoing Analysis",
  "weaknesses": [
    {
      "type": "Secondary",
      "source": "security-advisories@github.com",
      "description": [
        {
          "lang": "en",
          "value": "CWE-94"
        },
        {
          "lang": "en",
          "value": "CWE-116"
        }
      ]
    }
  ],
  "descriptions": [
    {
      "lang": "en",
      "value": "Electron is a framework for writing cross-platform desktop applications using JavaScript, HTML and CSS. Prior to 39.8.7, 40.9.0, 41.2.0, and 42.0.0-beta.1, the mode option of webContents.openDevTools() was not sanitized before use by the DevTools frontend. If an attacker can influence this value, script under their control may run in the DevTools context, which in unsandboxed configurations has access to Node.js, including when untrusted input reaches the mode argument of openDevTools() or untrusted content calls openDevTools() on a webview it embeds. This issue is fixed in 39.8.7, 40.9.0, 41.2.0, and 42.0.0-beta.1."
    }
  ],
  "lastModified": "2026-09-08T20:44:08.253",
  "sourceIdentifier": "security-advisories@github.com"
}