chore(deps): update dependency electron to v39 [security] - #9618
Open
renovate[bot] wants to merge 1 commit into
Open
chore(deps): update dependency electron to v39 [security]#9618renovate[bot] wants to merge 1 commit into
renovate[bot] wants to merge 1 commit into
Conversation
renovate
Bot
force-pushed
the
renovate/npm-electron-vulnerability
branch
3 times, most recently
from
April 29, 2026 19:37
f22c000 to
5820fea
Compare
renovate
Bot
force-pushed
the
renovate/npm-electron-vulnerability
branch
from
May 12, 2026 11:32
5820fea to
d0ccc74
Compare
|
renovate
Bot
force-pushed
the
renovate/npm-electron-vulnerability
branch
from
May 28, 2026 15:45
d0ccc74 to
2b36910
Compare
renovate
Bot
force-pushed
the
renovate/npm-electron-vulnerability
branch
from
June 11, 2026 13:50
2b36910 to
78d164b
Compare
|
renovate
Bot
force-pushed
the
renovate/npm-electron-vulnerability
branch
from
July 12, 2026 13:48
78d164b to
9586f53
Compare
renovate
Bot
requested review from
arjita-mitra,
e-maad,
otto-the-bot,
screendriver,
thisisamir98 and
zskhan
as code owners
July 12, 2026 13:48
|
renovate
Bot
force-pushed
the
renovate/npm-electron-vulnerability
branch
2 times, most recently
from
July 20, 2026 20:39
e885105 to
bff296d
Compare
renovate
Bot
force-pushed
the
renovate/npm-electron-vulnerability
branch
from
July 24, 2026 15:27
bff296d to
49bfcac
Compare
renovate
Bot
force-pushed
the
renovate/npm-electron-vulnerability
branch
from
August 11, 2026 21:58
49bfcac to
47b666b
Compare
renovate
Bot
force-pushed
the
renovate/npm-electron-vulnerability
branch
from
August 26, 2026 13:20
47b666b to
7650b91
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



This PR contains the following updates:
38.8.6→39.8.10Electron: Use-after-free in offscreen child window paint callback
CVE-2026-34774 / GHSA-532v-xpq5-8h95
More information
Details
Impact
Apps that use offscreen rendering and allow child windows via
window.open()may be vulnerable to a use-after-free. If the parent offscreenWebContentsis destroyed while a child window remains open, subsequent paint frames on the child dereference freed memory, which may lead to a crash or memory corruption.Apps are only affected if they use offscreen rendering (
webPreferences.offscreen: true) and theirsetWindowOpenHandlerpermits child windows. Apps that do not use offscreen rendering, or that deny child windows, are not affected.Workarounds
Deny child window creation from offscreen renderers in your
setWindowOpenHandler, or ensure child windows are closed before the parent is destroyed.Fixed Versions
41.0.040.7.039.8.1For more information
If there are any questions or comments about this advisory, please email security@electronjs.org
Severity
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:HReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Electron: Use-after-free in offscreen shared texture release() callback
CVE-2026-34764 / GHSA-8x5q-pvf5-64mp
More information
Details
Impact
Apps that use offscreen rendering with GPU shared textures may be vulnerable to a use-after-free. Under certain conditions, the
release()callback provided on apaintevent texture can outlive its backing native state, and invoking it after that point dereferences freed memory in the main process, which may lead to a crash or memory corruption.Apps are only affected if they use offscreen rendering with
webPreferences.offscreen: { useSharedTexture: true }. Apps that do not enable shared-texture offscreen rendering are not affected.Workarounds
Ensure
texture.release()is called promptly after the texture has been consumed, before the texture object becomes unreachable.Fixed Versions
42.0.0-alpha.541.1.040.8.539.8.5For more information
If there are any questions or comments about this advisory, send an email to security@electronjs.org
Severity
CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:LReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Electron: Crash in clipboard.readImage() on malformed clipboard image data
CVE-2026-34781 / GHSA-f37v-82c4-4x64
More information
Details
Impact
Apps that call
clipboard.readImage()may be vulnerable to a denial of service. If the system clipboard contains image data that fails to decode, the resulting null bitmap is passed unchecked to image construction, triggering a controlled abort and crashing the process.Apps are only affected if they call
clipboard.readImage(). Apps that do not read images from the clipboard are not affected. This issue does not allow memory corruption or code execution.Workarounds
Validate that the clipboard contains image data via
clipboard.availableFormats()before callingclipboard.readImage(). Note this only narrows the window — upgrading to a fixed version is recommended.Fixed Versions
42.0.0-alpha.541.1.040.8.539.8.5For more information
If you have any questions or comments about this advisory, email us at security@electronjs.org
Severity
CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:N/I:N/A:LReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Electron: Parent process code-sign check is spoofable
CVE-2026-70597 / GHSA-jm7p-cc5g-qwxx
More information
Details
Impact
On macOS, the check Electron uses to confirm it was launched by a same-signed parent process could be bypassed by a local process. Apps that enable the fuse-based hardening restricting
ELECTRON_RUN_AS_NODEandNODE_OPTIONSto same-signed parents rely on this check; a local attacker could bypass it and run their own code inside the signed app, inheriting its TCC permissions and keychain access.Apps are only affected if they enable those macOS fuse-based restrictions. Apps that do not enable them are not affected.
Workarounds
There are no app side workarounds, you must update to a patched version of Electron.
Fixed Versions
42.0.0-beta.341.2.140.9.039.8.8For more information
If you have any questions or comments about this advisory, email us at security@electronjs.org
Severity
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Electron: Off-screen rendering trusts GPU-supplied geometry over shared-memory size
CVE-2026-70598 / GHSA-pfmc-3mgc-p6fp
More information
Details
Impact
In offscreen rendering mode, frame data received from the GPU process was not fully validated by the main process. A compromised GPU process could cause the main process to read out-of-bounds memory while producing
paintevent images, disclosing memory or crashing the app.Apps are only affected if they use offscreen rendering (
webPreferences.offscreen) and an attacker has separately gained code execution in the GPU process. Apps that do not use offscreen rendering are not affected.Workarounds
There are no app side workarounds, you must update to a patched version of Electron.
Fixed Versions
42.0.0-beta.341.2.140.9.039.8.10For more information
If you have any questions or comments about this advisory, email us at security@electronjs.org
Severity
CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:C/C:L/I:N/A:LReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Electron: Permission Check Handler Receives Main Frame Origin Instead of Requesting Iframe Origin
CVE-2026-70599 / GHSA-9pf5-hg6p-4pwp
More information
Details
Impact
For serial-port and media (camera / microphone) permission checks made from an iframe, the
requestingOriginpassed tosession.setPermissionCheckHandlerwas the top-level frame's origin rather than the requesting frame's. Origin-based handler logic could therefore grant a cross-origin iframe device access intended only for the top-level origin.Apps are only affected if they use
setPermissionCheckHandlerwith origin-based logic and embed cross-origin iframes with delegated device permissions. Apps that base the decision ondetails.securityOrigin, or that do not embed such iframes, are not affected.Workarounds
Check
details.securityOrigininstead ofrequestingOriginfor these permissions, or do not delegate device permissions to untrusted iframes.Fixed Versions
42.0.0-beta.141.2.040.9.039.8.7For more information
If you have any questions or comments about this advisory, email Electron at security@electronjs.org
Severity
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Electron: Cross-origin iframe can position native autofill popup
CVE-2026-70600 / GHSA-x8rc-wpg4-grpf
More information
Details
Impact
The native autofill popup could be positioned by a cross-origin iframe outside that iframe's bounds, over the embedding page's UI, enabling clickjacking or spoofing of trusted UI.
Apps are only affected if they embed untrusted content in iframes within windows that also display trusted UI. Apps that do not embed untrusted third-party content are not affected.
Workarounds
Do not embed untrusted content in iframes inside windows that display trusted UI.
Fixed Versions
42.0.0-beta.341.2.140.9.039.8.8For more information
If you have any questions or comments about this advisory, email Electron at security@electronjs.org
Severity
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:L/A:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Electron: Context isolation bypass via Function.prototype.bind hijack
CVE-2026-70601 / GHSA-h7rp-cf8h-j98x
More information
Details
Impact
Apps that expose Promise-returning functions to web content via
contextBridgemay be vulnerable to a context isolation bypass. Untrusted web content could obtain access to the isolated preload world and, through it, every capability the preload script has. In renderers without a sandbox, or withnodeIntegrationenabled, this may escalate to Node.js access.Apps are affected if they expose Promise-returning functions via
contextBridge— the standard pattern for wrappingipcRenderer.invoke— in windows that load untrusted content. Apps that never load untrusted content in those windows are not affected.Workarounds
There are no app side workarounds, you must update to a patched version of Electron.
Fixed Versions
42.0.0-beta.541.2.240.9.239.8.9For more information
If you have any questions or comments about this advisory, email Electron at security@electronjs.org
Severity
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:L/A:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Electron: shell.openPath path validation bypass via embedded null byte
CVE-2026-70603 / GHSA-5c9j-mhmv-5xgx
More information
Details
Impact
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 toshell.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. Node'sfsAPIs already reject paths containing null bytes, so apps that callfs.existsSync(),fs.stat(), or similar beforeshell.openPath()are not affected. Apps that do not callshell.openPath()with untrusted input are not affected.Workarounds
Reject any path containing a null byte before passing it to
shell.openPath():Fixed Versions
42.0.0-beta.141.1.140.9.039.8.6For more information
If you have any questions or comments about this advisory, email us at security@electronjs.org
Severity
CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:H/I:H/A:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Electron: Extension tab APIs operate across session boundaries
CVE-2026-70602 / GHSA-m55f-7gqj-fr98
More information
Details
Impact
Extension tab and scripting APIs were not scoped to the extension's own
session. A malicious or compromised extension loaded into one session could navigate, script, and read from windows belonging to a different session.Apps are only affected if they load Chrome extensions via
session.loadExtensionand rely on separate sessions to isolate that extension from other content. Apps that do not load extensions, or that use a single session, are not affected.Workarounds
Only load extensions from sources you trust; do not rely on session separation alone to contain an extension.
Fixed Versions
42.0.0-beta.341.2.140.9.039.8.8For more information
If you have any questions or comments about this advisory, email Electron at security@electronjs.org
Severity
CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:C/C:H/I:L/A:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Electron: Custom protocol with supportFetchAPI but not corsEnabled allows cross-origin reads
CVE-2026-70604 / GHSA-v3j7-r9gq-3gjw
More information
Details
Impact
A custom scheme registered with
supportFetchAPI: truebut withoutcorsEnabled: truewas not subject to CORS enforcement. A page loaded from a remote origin could thereforefetch()orXMLHttpRequestthat scheme cross-origin and read the full response body, rather than the read being blocked.Apps that serve sensitive data from such a scheme and load remote or untrusted content in a renderer are affected. Apps that set
corsEnabled: true, or that do not load untrusted content, are not affected.Workarounds
Set
corsEnabled: trueon schemes that must enforce CORS, and validate the requestOriginin your protocol handler before returning sensitive data.Fixed Versions
42.0.041.4.040.9.339.8.10For more information
If you have any questions or comments about this advisory, email Electron at security@electronjs.org
Severity
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:N/A:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Electron: HTTP redirect followed into local file loader
CVE-2026-70605 / GHSA-v64r-4m7r-3mvq
More information
Details
Impact
When following HTTP redirects,
net.fetch()andnet.request()did not restrict which schemes a redirect could target. A remote server could redirect a request to a local resource, and if the app returns or forwards the response body, local file contents could be disclosed.Apps are only affected if they make
netrequests to attacker-influenced URLs with redirects followed (the default) and expose the response body. Apps that only request fixed, trusted URLs are not affected.Workarounds
Set
redirect: 'error'orredirect: 'manual'on requests to untrusted URLs and validate any redirect target before following it.Fixed Versions
42.0.0-beta.341.2.140.9.039.8.8For more information
If you have any questions or comments about this advisory, email Electron at security@electronjs.org
Severity
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Electron: window.open features string controls some window options considered privileged
CVE-2026-70607 / GHSA-v93f-fgjr-hjrj
More information
Details
Impact
Some window options supplied by web content in the
window.open()features string were applied to the newBrowserWindowwithout an allowlist. Untrusted content could set window options it should not control, including options that cause the main process to access attacker-chosen file or network paths.Apps are only affected if untrusted content can call
window.open()and the app does not override child window options viasetWindowOpenHandler. Apps that denywindow.open()for untrusted content, or setoverrideBrowserWindowOptionsexplicitly, are not affected.Workarounds
Return
{ action: 'deny' }fromsetWindowOpenHandlerfor untrusted content, or supplyoverrideBrowserWindowOptionsso every window option is set explicitly.Fixed Versions
42.0.0-beta.341.2.140.9.039.8.8For more information
If you have any questions or comments about this advisory, email Electron at security@electronjs.org
Severity
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Electron: DevTools JavaScript Injection via Unsanitized Dock State Parameter
CVE-2026-70609 / GHSA-4f78-qhmw-8j8m
More information
Details
Impact
The
modeoption ofwebContents.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.Apps are only affected if untrusted input can reach the
modeargument ofopenDevTools(), or if untrusted content can callopenDevTools()on a<webview>it embeds. Apps that only ever pass a fixed dock mode are not affected.Workarounds
Only pass fixed, allowlisted values (
right,bottom,undocked,detach) as the DevToolsmode, and do not exposeopenDevToolsto untrusted content.Fixed Versions
42.0.0-beta.141.2.040.9.039.8.7For more information
If you have any questions or comments about this advisory, email Electron at security@electronjs.org
Severity
CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:U/C:H/I:H/A:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Electron: Sandboxed iframe can bypass the allow-popups restriction via the OpenURL navigation path
CVE-2026-70608 / GHSA-9f4c-93c8-jc8g
More information
Details
Impact
A sandboxed iframe without the
allow-popupskeyword could still open a new window (or triggersetWindowOpenHandler) with no user interaction, because new-window navigations taking the OpenURL path did not apply the iframe sandbox popup restriction.Apps that embed untrusted content in sandboxed iframes and rely on the absence of
allow-popupsto prevent window creation are affected. Apps that deny window creation insetWindowOpenHandler, or that do not embed untrusted content in sandboxed iframes, are not affected.Workarounds
Return
{ action: 'deny' }fromsetWindowOpenHandlerfor any content you do not trust, rather than relying on the iframe sandbox alone.Fixed Versions
42.0.141.10.339.8.10For more information
If you have any questions or comments about this advisory, email Electron at security@electronjs.org
Severity
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Electron: contextBridge object copy honors prototype setters
CVE-2026-70610 / GHSA-ff2p-hmqr-hxm4
More information
Details
Impact
Objects copied across the
contextBridgeboundary from untrusted content could carry an attacker-influenced prototype, enabling prototype-pollution-style attacks against preload code despite context isolation being enabled.Apps are only affected if their preload code accepts object arguments from untrusted content and reads properties from them without own-property checks. Apps that only accept primitive arguments, or that validate object arguments, are not affected.
Workarounds
Validate objects received from untrusted content with own-property checks (
Object.hasOwn), or copy them onto a null-prototype object before use.Fixed Versions
42.0.0-beta.441.2.240.9.239.8.9For more information
If you have any questions or comments about this advisory, email Electron at security@electronjs.org
Severity
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Electron: DevTools embedder handler executes arbitrary files via shell open
CVE-2026-70611 / GHSA-f2r8-jv7c-xqmp
More information
Details
Impact
The DevTools "reveal in file manager" action could launch the target file rather than reveal it. An attacker with a separate means of running script inside the DevTools frontend (such as a malicious DevTools extension) could use this to execute native code outside the sandbox.
Apps are only affected if DevTools is opened for windows exposed to untrusted content or untrusted DevTools extensions. Apps that do not open DevTools in that context are not affected.
Workarounds
Do not open DevTools for windows that load untrusted content, and do not load untrusted DevTools extensions.
Fixed Versions
42.0.0-beta.341.2.140.9.239.8.9For more information
If you have any questions or comments about this advisory, email Electron at security@electronjs.org
Severity
CVSS:3.1/AV:L/AC:H/PR:H/UI:R/S:C/C:H/I:H/A:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Electron: Sandboxed iframes can launch external protocol handlers
CVE-2026-70612 / GHSA-p2rr-rvmm-c5fp
More information
Details
Impact
Requests to open external protocol URLs from web content did not take iframe sandbox restrictions into account, so a sandboxed iframe could cause an OS-registered external application to be launched. The frame's sandbox state was also not made available to the app's permission handlers.
Apps are only affected if they render untrusted content in sandboxed iframes and grant the
openExternalpermission (granted by default when nosetPermissionRequestHandleris installed). Apps whose permission handler deniesopenExternalfor untrusted content are not affected.Workarounds
Install a
setPermissionRequestHandlerthat denies theopenExternalpermission for untrusted content.Fixed Versions
42.0.0-beta.341.2.140.9.039.8.8For more information
If you have any questions or comments about this advisory, email Electron at security@electronjs.org
Severity
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Release Notes
electron/electron (electron)
v39.8.10: electron v39.8.10Compare Source
Release Notes for v39.8.10
Fixes
fetch()and XHR are blocked for custom protocols registered withsupportFetchAPI: trueunlesscorsEnabled: trueis also set; cross-originmode: 'no-cors'requests now receive an opaque response. #51272 (Also in 40, 41, 42)Other Changes
4933194,4941583,4932347,4927361,4934134,4926688,4962818. #51257v39.8.9: electron v39.8.9Compare Source
Release Notes for v39.8.9
Other Changes
gn genfailing to resolveelectron_versionwhen building from agit worktreecheckout. #51163 (Also in 40, 41, 42)v39.8.8: electron v39.8.8Compare Source
Release Notes for v39.8.8
Fixes
Other Changes
v39.8.7: electron v39.8.7Compare Source
Release Notes for v39.8.7
Other Changes
4897116. #506244939526. #50620v39.8.6: electron v39.8.6Compare Source
Release Notes for v39.8.6
Fixes
contentTracing.getTraceBufferUsage()while a trace session is active. #50595 (Also in 40, 41, 42)v39.8.5: electron v39.8.5Compare Source
Release Notes for v39.8.5
Fixes
clipboard.readImage()when the clipboard contains malformed image data. #50493 (Also in 40, 41, 42)release()after the texture object was garbage collected. #50499 (Also in 40, 41, 42)v39.8.4: electron v39.8.4Compare Source
Release Notes for v39.8.4
Fixes
nodeIntegrationInWorkeroverrides insetWindowOpenHandlerwere not honored for child windows sharing a renderer process with their opener. #50468 (Also in 38, 40, 41)Other Changes
4859353. #504404893813. #504434847510,4871177. #50461v39.8.3: electron v39.8.3Compare Source
Release Notes for v39.8.3
Fixes
fscopy methods. #50284 (Also in 40, 41, 42)v39.8.2: electron v39.8.2Compare Source
Release Notes for v39.8.2
Other Changes
v39.8.1: electron v39.8.1Compare Source
Release Notes for v39.8.1
Fixes
autoUpdater.quitAndInstall()could fail ifcheckForUpdates()was called again after an update was already downloaded. #50215 (Also in 40, 41)additionalDatapassed toapp.requestSingleInstanceLockon Windows could be truncated or fail to deserialize in the primary instance'ssecond-instanceevent. #50174 (Also in 38, 40, 41)screen.getCursorScreenPoint()crashed on Wayland when it was called before aBrowserWindowhad been created. [#50106](https://