← Back to CVE Explorer

CVE-2026-70603

Full vulnerability record from the local CVENow database.

Description

Electron is a framework for writing cross-platform desktop applications using JavaScript, HTML and CSS. Prior to 39.8.6, 40.9.0, 41.1.1, and 42.0.0-beta.1, shell.openPath() did not reject paths containing embedded null bytes. Apps that perform string-only validation of file paths, for example checking the file extension, before passing them to shell.openPath() could be bypassed, allowing an attacker-controlled path to open a different file than the one that passed validation. Apps are only affected if they pass paths derived from untrusted input to shell.openPath() and rely on string-based validation without a filesystem check. This issue is fixed in versions 39.8.6, 40.9.0, 41.1.1, and 42.0.0-beta.1.

Severity
MEDIUM
CVSS score
6.0 (v3.1)
Vulnerability status
Analyzed
Source identifier
Published
2026-08-05 16:17:04.470000
Last modified
2026-11-03 23:17:53.147000
View original CVE JSON
{
  "id": "CVE-2026-70603",
  "sourceIdentifier": "[email protected]",
  "published": "2026-08-05T16:17:04.470",
  "lastModified": "2026-11-03T23:17:53.147",
  "vulnStatus": "Analyzed",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "Electron is a framework for writing cross-platform desktop applications using JavaScript, HTML and CSS. Prior to 39.8.6, 40.9.0, 41.1.1, and 42.0.0-beta.1, shell.openPath() did not reject paths containing embedded null bytes. Apps that perform string-only validation of file paths, for example checking the file extension, before passing them to shell.openPath() could be bypassed, allowing an attacker-controlled path to open a different file than the one that passed validation. Apps are only affected if they pass paths derived from untrusted input to shell.openPath() and rely on string-based validation without a filesystem check. This issue is fixed in versions 39.8.6, 40.9.0, 41.1.1, and 42.0.0-beta.1."
    }
  ],
  "affected": [
    {
      "source": "[email protected]",
      "affectedData": [
        {
          "vendor": "electron",
          "product": "electron",
          "versions": [
            {
              "version": "< 39.8.6",
              "status": "affected"
            },
            {
              "version": ">= 40.0.0-alpha.1, < 40.9.0",
              "status": "affected"
            },
            {
              "version": ">= 41.0.0-alpha.1, < 41.1.1",
              "status": "affected"
            },
            {
              "version": ">= 42.0.0-alpha.1, < 42.0.0-beta.1",
              "status": "affected"
            }
          ]
        }
      ]
    }
  ],
  "metrics": {
    "cvssMetricV31": [
      {
        "source": "[email protected]",
        "type": "Secondary",
        "cvssData": {
          "version": "3.1",
          "vectorString": "CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:H/I:H/A:N",
          "baseScore": 6.0,
          "baseSeverity": "MEDIUM",
          "attackVector": "LOCAL",
          "attackComplexity": "HIGH",
          "privilegesRequired": "LOW",
          "userInteraction": "REQUIRED",
          "scope": "UNCHANGED",
          "confidentialityImpact": "HIGH",
          "integrityImpact": "HIGH",
          "availabilityImpact": "NONE"
        },
        "exploitabilityScore": 0.8,
        "impactScore": 5.2
      }
    ],
    "ssvcV203": [
      {
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "ssvcData": {
          "timestamp": "2026-08-06T03:55:28.551971Z",
          "id": "CVE-2026-70603",
          "options": [
            {
              "exploitation": "none"
            },
            {
              "automatable": "no"
            },
            {
              "technicalImpact": "total"
            }
          ],
          "role": "CISA Coordinator",
          "version": "2.0.3"
        }
      }
    ]
  },
  "weaknesses": [
    {
      "source": "[email protected]",
      "type": "Secondary",
      "description": [
        {
          "lang": "en",
          "value": "CWE-20"
        },
        {
          "lang": "en",
          "value": "CWE-158"
        }
      ]
    }
  ],
  "configurations": [
    {
      "nodes": [
        {
          "operator": "OR",
          "negate": false,
          "cpeMatch": [
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:a:electronjs:electron:*:*:*:*:*:node.js:*:*",
              "versionEndExcluding": "39.8.6",
              "matchCriteriaId": "1FC99B08-2972-4B17-A0E9-C8B36881780E"
            },
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:a:electronjs:electron:*:*:*:*:*:node.js:*:*",
              "versionStartIncluding": "40.0.0",
              "versionEndExcluding": "40.9.0",
              "matchCriteriaId": "56E4CE6E-6A00-4DF6-A720-141D67D4CA2D"
            },
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:a:electronjs:electron:*:*:*:*:*:node.js:*:*",
              "versionStartIncluding": "41.0.0",
              "versionEndExcluding": "41.1.1",
              "matchCriteriaId": "B5945DA5-8081-4226-8699-AF3903D92F53"
            },
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:a:electronjs:electron:42.0.0:alpha1:*:*:*:node.js:*:*",
              "matchCriteriaId": "498062D8-5C83-4FC2-A04B-94F3228B2BED"
            },
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:a:electronjs:electron:42.0.0:alpha2:*:*:*:node.js:*:*",
              "matchCriteriaId": "A272F9F4-AB62-407C-B1A8-18586A474C19"
            },
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:a:electronjs:electron:42.0.0:alpha3:*:*:*:node.js:*:*",
              "matchCriteriaId": "BF49E260-9653-4D26-8B6C-C6FAFE697F5A"
            },
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:a:electronjs:electron:42.0.0:alpha4:*:*:*:node.js:*:*",
              "matchCriteriaId": "2F3B609A-0CA5-4E8C-865E-CF79B6B0CCCC"
            },
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:a:electronjs:electron:42.0.0:alpha5:*:*:*:node.js:*:*",
              "matchCriteriaId": "308A710A-7965-40A0-87E4-2B66A8CEF87A"
            },
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:a:electronjs:electron:42.0.0:alpha6:*:*:*:node.js:*:*",
              "matchCriteriaId": "6CFEB6F4-A38A-43BC-92B1-2E1DC8BBD1D7"
            },
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:a:electronjs:electron:42.0.0:beta1:*:*:*:node.js:*:*",
              "matchCriteriaId": "7B9FD9F4-48E0-4EA2-957D-57ADA2A3D42A"
            }
          ]
        }
      ]
    }
  ],
  "references": [
    {
      "url": "https://github.com/electron/electron/security/advisories/GHSA-5c9j-mhmv-5xgx",
      "source": "[email protected]",
      "tags": [
        "Vendor Advisory"
      ]
    }
  ]
}