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.
Published: 2026-08-05
Score: 6 Medium
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

A flaw in Electron’s shell.openPath prevented the API from rejecting paths containing embedded null bytes. Applications that perform only string-based validation on file paths, such as confirming a file extension, could be tricked into opening a different file than the one originally validated. This omission creates a vulnerability that permits an attacker to access arbitrary files through shell.openPath, which may also enable execution of undesirable content, thereby compromising confidentiality and potentially integrity.

Affected Systems

The issue affects Electron framework versions before 39.8.6, 40.9.0, 41.1.1, and 42.0.0‑beta.1. Any desktop application built with Electron that calls shell.openPath using a path derived from untrusted input and relies solely on string validation is at risk.

Risk and Exploitability

With a CVSS score of 6.0, the vulnerability represents a moderate severity. The exploit probability is not quantified (EPSS data missing) and it is not listed in the CISA KEV catalog. The attack vector would require the application to receive or generate a path containing a null byte from an attacker or untrusted source; if the app forwards that path to shell.openPath, the bypass can be triggered to open an arbitrary file.

Generated by OpenCVE AI on August 5, 2026 at 17:38 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Electron to version 39.8.6, 40.9.0, 41.1.1, or 42.0.0‑beta.1 or newer.
  • If an immediate upgrade is not possible, sanitize all paths by removing embedded null bytes and performing a filesystem lookup before passing them to shell.openPath.
  • Implement strict input validation for any untrusted data that will be used as a file path, ensuring that only legitimate, system-verified file paths are accepted.

Generated by OpenCVE AI on August 5, 2026 at 17:38 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-5c9j-mhmv-5xgx Electron: shell.openPath path validation bypass via embedded null byte
History

Wed, 05 Aug 2026 17:45:00 +0000

Type Values Removed Values Added
First Time appeared Electron
Electron electron
Vendors & Products Electron
Electron electron

Wed, 05 Aug 2026 16:15:00 +0000

Type Values Removed Values Added
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.
Title Electron: shell.openPath path validation bypass via embedded null byte
Weaknesses CWE-158
CWE-20
References
Metrics cvssV3_1

{'score': 6, 'vector': 'CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:H/I:H/A:N'}


Subscriptions

Electron Electron
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-08-05T15:56:50.574Z

Reserved: 2026-08-04T19:50:27.328Z

Link: CVE-2026-70603

cve-icon Vulnrichment

No data.

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-05T17:30:07Z

Weaknesses
  • CWE-158

    Improper Neutralization of Null Byte or NUL Character

  • CWE-20

    Improper Input Validation