Open actionable advisories and recorded vendor fixes. This public package view has no inventory attached and cannot establish whether your deployment is affected. A vendor fix never resolves your finding; verify your installed version and the source guidance.
Open advisories
76 actionable advisories, newest first. Withdrawn advisories and news are excluded. Coverage is partial.
39.8.742.0.0-beta.140.9.041.2.0· Vendor fix available
Issue
Impact For serial-port and media (camera / microphone) permission checks made from an iframe, the requestingOrigin passed to session.setPermissionCheckHandler was 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 setPermissionCheckHandler with origin-based logic and embed cross-origin iframes with delegated device permissions. Apps that base the decision on details.securityOrigin, or that do not embed such iframes, are not affected. Workarounds Check details.securityOrigin instead of requestingOrigin for these permissions, or do not delegate device permissions to untrusted iframes. Fixed Versions 42.0.0-beta.1 41.2.0 40.9.0 39.8.7 For more information If you have any questions or comments about this advisory, email Electron at security@electronjs.org
Recommended action: Upgrade to 42.0.0-beta.1 (pre-release), 41.2.0, 40.9.0 or 39.8.7 by release line, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.
42.0.0-beta.339.8.1041.2.140.9.0· Vendor fix available
Issue
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 paint event 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.3 41.2.1 40.9.0 39.8.10 For more information If you have any questions or comments about this advisory, email us at security@electronjs.org
Recommended action: Upgrade to 42.0.0-beta.3 (pre-release), 41.2.1, 40.9.0 or 39.8.10 by release line, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.
Impact Most apps will crash and some may perform incorrect buffer allocations in the Node.js Buffer API resulting in unexpected truncation or allocation. Workarounds No workarounds. Do not use these impacted Electron releases Fixed Versions 42.3.3 For more information If you have any questions or comments about this advisory, email us at security@electronjs.org
Recommended action: Upgrade to 42.3.3 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.
39.8.542.0.0-alpha.540.8.541.1.0· Vendor fix available
Issue
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 calling clipboard.readImage(). Note this only narrows the window — upgrading to a fixed version is recommended. Fixed Versions 42.0.0-alpha.5 41.1.0 40.8.5 39.8.5 For more information If you have any questions or comments about this advisory, email us at security@electronjs.org
Recommended action: Upgrade to 42.0.0-alpha.5 (pre-release), 41.1.0, 40.8.5 or 39.8.5 by release line, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.
39.8.542.0.0-alpha.540.8.541.1.0· Vendor fix available
Issue
Impact When a renderer calls window.open() with a target name, Electron did not correctly scope the named-window lookup to the opener's browsing context group. A renderer could navigate an existing child window that was opened by a different, unrelated renderer if both used the same target name. If that existing child was created with more permissive webPreferences (via setWindowOpenHandler's overrideBrowserWindowOptions), content loaded by the second renderer inherits those permissions. Apps are only affected if they open multiple top-level windows with differing trust levels and use setWindowOpenHandler to grant child windows elevated webPreferences such as a privileged preload script. Apps that do not elevate child window privileges, or that use a single top-level window, are not affected. Apps that additionally grant nodeIntegration: true or sandbox: false to child windows (contrary to the security recommendations) may be exposed to arbitrary code execution. Workarounds Deny…
Recommended action: Upgrade to 42.0.0-alpha.5 (pre-release), 41.1.0, 40.8.5 or 39.8.5 by release line, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.
39.8.542.0.0-alpha.540.8.541.1.0· Vendor fix available
Issue
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 a paint event 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.5 41.1.0 40.8.5 39.8.5 For more information If there are any questions or comments about this advisory, send an email to security@electronjs.org
Recommended action: Upgrade to 42.0.0-alpha.5 (pre-release), 41.1.0, 40.8.5 or 39.8.5 by release line, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.
Impact Apps that pass VideoFrame objects (from the WebCodecs API) across the contextBridge are vulnerable to a context isolation bypass. An attacker who can execute JavaScript in the main world (for example, via XSS) can use a bridged VideoFrame to gain access to the isolated world, including any Node.js APIs exposed to the preload script. Apps are only affected if a preload script returns, resolves, or passes a VideoFrame object to the main world via contextBridge.exposeInMainWorld(). Apps that do not bridge VideoFrame objects are not affected. Workarounds Do not pass VideoFrame objects across contextBridge. If an app needs to transfer video frame data, serialize it to an ArrayBuffer or ImageBitmap before bridging. Fixed Versions 41.0.0-beta.8 40.7.0 39.8.0 For more information If there are any questions or comments about this advisory, please email security@electronjs.org
Recommended action: Upgrade to 41.0.0-beta.8 (pre-release), 40.7.0 or 39.8.0 by release line, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.
41.0.0-beta.840.8.038.8.639.8.1· Vendor fix available
Issue
Impact On macOS, app.moveToApplicationsFolder() used an AppleScript fallback path that did not properly handle certain characters in the application bundle path. Under specific conditions, a crafted launch path could lead to arbitrary AppleScript execution when the user accepted the move-to-Applications prompt. Apps are only affected if they call app.moveToApplicationsFolder(). Apps that do not use this API are not affected. Workarounds There are no app side workarounds, developers must update to a patched version of Electron. Fixed Versions 41.0.0-beta.8 40.8.0 39.8.1 38.8.6 For more information If there are any questions or comments about this advisory, please email security@electronjs.org
Recommended action: Upgrade to 41.0.0-beta.8 (pre-release), 40.8.0, 39.8.1 or 38.8.6 by release line, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.
Impact A service worker running in a session could spoof reply messages on the internal IPC channel used by webContents.executeJavaScript() and related methods, causing the main-process promise to resolve with attacker-controlled data. Apps are only affected if they have service workers registered and use the result of webContents.executeJavaScript() (or webFrameMain.executeJavaScript()) in security-sensitive decisions. Workarounds Do not trust the return value of webContents.executeJavaScript() for security decisions. Use dedicated, validated IPC channels for security-relevant communication with renderers. Fixed Versions 41.0.0 40.8.1 39.8.1 38.8.6 For more information If there are any questions or comments about this advisory, please email security@electronjs.org
Recommended action: Upgrade to 41.0.0, 40.8.1, 39.8.1 or 38.8.6 by release line, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.
Impact When an iframe requests fullscreen, pointerLock, keyboardLock, openExternal, or media permissions, the origin passed to session.setPermissionRequestHandler() was the top-level page's origin rather than the requesting iframe's origin. Apps that grant permissions based on the origin parameter or webContents.getURL() may inadvertently grant permissions to embedded third-party content. The correct requesting URL remains available via details.requestingUrl. Apps that already check details.requestingUrl are not affected. Workarounds In your setPermissionRequestHandler, inspect details.requestingUrl rather than the origin parameter or webContents.getURL() when deciding whether to grant fullscreen, pointerLock, keyboardLock, openExternal, or media permissions. Fixed Versions 41.0.0 40.8.1 39.8.1 38.8.6 For more information If there are any questions or comments about this advisory, please email security@electronjs.org
Recommended action: Upgrade to 41.0.0, 40.8.1, 39.8.1 or 38.8.6 by release line, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.
Impact On macOS and Linux, apps that call app.requestSingleInstanceLock() were vulnerable to an out-of-bounds heap read when parsing a crafted second-instance message. Leaked memory could be delivered to the app's second-instance event handler. This issue is limited to processes running as the same user as the Electron app. Apps that do not call app.requestSingleInstanceLock() are not affected. Windows is not affected by this issue. Workarounds There are no app side workarounds, developers must update to a patched version of Electron. Fixed Versions 41.0.0 40.8.1 39.8.1 38.8.6 For more information If there are any questions or comments about this advisory, please email security@electronjs.org
Recommended action: Upgrade to 41.0.0, 40.8.1, 39.8.1 or 38.8.6 by release line, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.
Impact The nodeIntegrationInWorker webPreference was not correctly scoped in all configurations. In certain process-sharing scenarios, workers spawned in frames configured with nodeIntegrationInWorker: false could still receive Node.js integration. Apps are only affected if they enable nodeIntegrationInWorker. Apps that do not use nodeIntegrationInWorker are not affected. Workarounds Avoid enabling nodeIntegrationInWorker in apps that also open child windows or embed content with differing webPreferences. Fixed Versions 41.0.0 40.8.4 39.8.4 38.8.6 For more information If there are any questions or comments about this advisory, please email security@electronjs.org
Recommended action: Upgrade to 41.0.0, 40.8.4, 39.8.4 or 38.8.6 by release line, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.
Impact Apps that use offscreen rendering and allow child windows via window.open() may be vulnerable to a use-after-free. If the parent offscreen WebContents is 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 their setWindowOpenHandler permits 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.0 40.7.0 39.8.1 For more information If there are any questions or comments about this advisory, please email security@electronjs.org
Recommended action: Upgrade to 41.0.0, 40.7.0 or 39.8.1 by release line, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.
Impact On Windows, app.setAsDefaultProtocolClient(protocol) did not validate the protocol name before writing to the registry. Apps that pass untrusted input as the protocol name may allow an attacker to write to arbitrary subkeys under HKCU\Software\Classes\, potentially hijacking existing protocol handlers. Apps are only affected if they call app.setAsDefaultProtocolClient() with a protocol name derived from external or untrusted input. Apps that use a hardcoded protocol name are not affected. Workarounds Validate the protocol name matches /^[a-zA-Z][a-zA-Z0-9+.-]$/ before passing it to app.setAsDefaultProtocolClient(). Fixed Versions 41.0.0 40.8.1 39.8.1 38.8.6 For more information If there are any questions or comments about this advisory, please email security@electronjs.org
Recommended action: Upgrade to 41.0.0, 40.8.1, 39.8.1 or 38.8.6 by release line, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.
41.0.0-beta.739.8.038.8.640.7.0· Vendor fix available
Issue
Impact Apps that allow downloads and programmatically destroy sessions may be vulnerable to a use-after-free. If a session is torn down while a native save-file dialog is open for a download, dismissing the dialog dereferences freed memory, which may lead to a crash or memory corruption. Apps that do not destroy sessions at runtime, or that do not permit downloads, are not affected. Workarounds Avoid destroying sessions while a download save dialog may be open. Cancel pending downloads before session teardown. Fixed Versions 41.0.0-beta.7 40.7.0 39.8.0 38.8.6 For more information If there are any questions or comments about this advisory, please email security@electronjs.org
Recommended action: Upgrade to 41.0.0-beta.7 (pre-release), 40.7.0, 39.8.0 or 38.8.6 by release line, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.
41.0.0-beta.839.8.038.8.640.7.0· Vendor fix available
Issue
Impact Apps that register an asynchronous session.setPermissionRequestHandler() may be vulnerable to a use-after-free when handling fullscreen, pointer-lock, or keyboard-lock permission requests. If the requesting frame navigates or the window closes while the permission handler is pending, invoking the stored callback dereferences freed memory, which may lead to a crash or memory corruption. Apps that do not set a permission request handler, or whose handler responds synchronously, are not affected. Workarounds Respond to permission requests synchronously, or deny fullscreen, pointer-lock, and keyboard-lock requests if an asynchronous flow is required. Fixed Versions 41.0.0-beta.8 40.7.0 39.8.0 38.8.6 For more information If there are any questions or comments about this advisory, please email security@electronjs.org
Recommended action: Upgrade to 41.0.0-beta.8 (pre-release), 40.7.0, 39.8.0 or 38.8.6 by release line, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.
41.0.0-beta.840.8.038.8.639.8.1· Vendor fix available
Issue
Impact Apps that use the powerMonitor module may be vulnerable to a use-after-free. After the native PowerMonitor object is garbage-collected, the associated OS-level resources (a message window on Windows, a shutdown handler on macOS) retain dangling references. A subsequent session-change event (Windows) or system shutdown (macOS) dereferences freed memory, which may lead to a crash or memory corruption. All apps that access powerMonitor events (suspend, resume, lock-screen, etc.) are potentially affected. The issue is not directly renderer-controllable. Workarounds There are no app side workarounds, you must update to a patched version of Electron. Fixed Versions 41.0.0-beta.8 40.8.0 39.8.1 38.8.6 For more information If there are any questions or comments about this advisory, please email security@electronjs.org
Recommended action: Upgrade to 41.0.0-beta.8 (pre-release), 40.8.0, 39.8.1 or 38.8.6 by release line, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.
41.0.0-beta.839.8.038.8.640.7.0· Vendor fix available
Issue
Impact An undocumented commandLineSwitches webPreference allowed arbitrary switches to be appended to the renderer process command line. Apps that construct webPreferences by spreading untrusted configuration objects may inadvertently allow an attacker to inject switches that disable renderer sandboxing or web security controls. Apps are only affected if they construct webPreferences from external or untrusted input without an allowlist. Apps that use a fixed, hardcoded webPreferences object are not affected. Workarounds Do not spread untrusted input into webPreferences. Use an explicit allowlist of permitted preference keys when constructing BrowserWindow or webContents options from external configuration. Fixed Versions 41.0.0-beta.8 40.7.0 39.8.0 38.8.6 For more information If there are any questions or comments about this advisory, send an email to security@electronjs.org
Recommended action: Upgrade to 41.0.0-beta.8 (pre-release), 40.7.0, 39.8.0 or 38.8.6 by release line, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.
41.0.0-beta.840.8.038.8.639.8.1· Vendor fix available
Issue
Impact On Windows, app.setLoginItemSettings({openAtLogin: true}) wrote the executable path to the Run registry key without quoting. If the app is installed to a path containing spaces, an attacker with write access to an ancestor directory may be able to cause a different executable to run at login instead of the intended app. On a default Windows install, standard system directories are protected against writes by standard users, so exploitation typically requires a non-standard install location. Workarounds Install the application to a path without spaces, or to a location where all ancestor directories are protected against unauthorized writes. Fixed Versions 41.0.0-beta.8 40.8.0 39.8.1 38.8.6 For more information If there are any questions or comments about this advisory, send an email to security@electronjs.org
Recommended action: Upgrade to 41.0.0-beta.8 (pre-release), 40.8.0, 39.8.1 or 38.8.6 by release line, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.
Impact Apps that register custom protocol handlers via protocol.handle() / protocol.registerSchemesAsPrivileged() or modify response headers via webRequest.onHeadersReceived may be vulnerable to HTTP response header injection if attacker-controlled input is reflected into a response header name or value. An attacker who can influence a header value may be able to inject additional response headers, affecting cookies, content security policy, or cross-origin access controls. Apps that do not reflect external input into response headers are not affected. Workarounds Validate or sanitize any untrusted input before including it in a response header name or value. Fixed Versions 41.0.3 40.8.3 39.8.3 38.8.6 For more information If there are any questions or comments about this advisory, send an email to security@electronjs.org
Recommended action: Upgrade to 41.0.3, 40.8.3, 39.8.3 or 38.8.6 by release line, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.
41.0.0-beta.839.8.038.8.640.7.0· Vendor fix available
Issue
Impact The select-usb-device event callback did not validate the chosen device ID against the filtered list that was presented to the handler. An app whose handler could be influenced to select a device ID outside the filtered set would grant access to a device that did not match the renderer's requested filters or was listed in exclusionFilters. The WebUSB security blocklist remained enforced regardless, so security-sensitive devices on the blocklist were not affected. The practical impact is limited to apps with unusual device-selection logic. Workarounds There are no app side workarounds, you must update to a patched version of Electron. Fixed Versions 41.0.0-beta.8 40.7.0 39.8.0 38.8.6 For more information If there are any questions or comments about this advisory, send an email to security@electronjs.org
Recommended action: Upgrade to 41.0.0-beta.8 (pre-release), 40.7.0, 39.8.0 or 38.8.6 by release line, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.
38.0.0-beta.637.3.136.8.135.7.5· Vendor fix available
Issue
Impact This only impacts apps that have the embeddedAsarIntegrityValidation and onlyLoadAppFromAsar fuses enabled. Apps without these fuses enabled are not impacted. Specifically this issue can only be exploited if your app is launched from a filesystem the attacker has write access too. i.e. the ability to edit files inside the resources folder in your app installation on Windows which these fuses are supposed to protect against. Workarounds There are no app side workarounds, you must update to a patched version of Electron. Fixed Versions 38.0.0-beta.6 37.3.1 36.8.1 35.7.5 For more information If you have any questions or comments about this advisory, email us at security@electronjs.org
Recommended action: Upgrade to 38.0.0-beta.6 (pre-release), 37.3.1, 36.8.1 or 35.7.5 by release line, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.
Impact The nativeImage.createFromPath() and nativeImage.createFromBuffer() functions call a function downstream that is vulnerable to a heap buffer overflow. An Electron program that uses either of the affected functions is vulnerable to a buffer overflow if an attacker is in control of the image's height, width, and contents. Workaround There are no app-side workarounds for this issue. You must update your Electron version to be protected. Patches - v28.3.2 - v29.3.3 - v30.0.3 For More Information If you have any questions or comments about this advisory, email us at security@electronjs.org.
Recommended action: Upgrade to 30.0.3, 29.3.3 or 28.3.2 by release line, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.
npm electron >= 30.0.0-alpha.1, < 30.0.5; >= 31.0.0-alpha.1, < 31.0.0-beta.1
Fixed in
31.0.0-beta.130.0.5· Vendor fix available
Issue
electron's ASAR Integrity can be bypass by modifying the content. Impact This only impacts apps that have the embeddedAsarIntegrityValidation and onlyLoadAppFromAsar fuses enabled. Apps without these fuses enabled are not impacted. This issue is specific to Windows, apps using these fuses on macOS are unimpacted. Specifically this issue can only be exploited if your app is launched from a filesystem the attacker has write access too. i.e. the ability to edit files inside the .app bundle on macOS which these fuses are supposed to protect against. Workarounds There are no app side workarounds, you must update to a patched version of Electron. Fixed Versions 30.0.5 31.0.0-beta.1 For more information If you have any questions or comments about this advisory, email us at security@electronjs.org
Recommended action: Upgrade to 31.0.0-beta.1 (pre-release) or 30.0.5 by release line, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.
Impact This only impacts apps that have the embeddedAsarIntegrityValidation and onlyLoadAppFromAsar fuses enabled. Apps without these fuses enabled are not impacted. This issue is specific to macOS as these fuses are only currently supported on macOS. Specifically this issue can only be exploited if your app is launched from a filesystem the attacker has write access too. i.e. the ability to edit files inside the resources folder in your app installation on Windows which these fuses are supposed to protect against. Workarounds There are no app side workarounds, you must update to a patched version of Electron. Fixed Versions 27.0.0-alpha.7 26.2.1 25.8.1 24.8.3 22.3.24 For more information If you have any questions or comments about this advisory, email us at security@electronjs.org
Recommended action: Upgrade to 27.0.0-alpha.7 (pre-release), 26.2.1, 25.8.1 or 2 more by release line; some affected versions have no fix yet, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.