chore(deps): update dependency electron to v38 [security]#48
Open
renovate[bot] wants to merge 1 commit intomasterfrom
Open
chore(deps): update dependency electron to v38 [security]#48renovate[bot] wants to merge 1 commit intomasterfrom
renovate[bot] wants to merge 1 commit intomasterfrom
Conversation
|
7d47bb3 to
f37cfc3
Compare
f37cfc3 to
9ca731d
Compare
9ca731d to
d50784a
Compare
d50784a to
203289c
Compare
203289c to
0eb6a75
Compare
0eb6a75 to
f6a0de7
Compare
f6a0de7 to
46e3cd4
Compare
46e3cd4 to
e1f9dfb
Compare
e1f9dfb to
4edc197
Compare
4edc197 to
ced36a0
Compare
ced36a0 to
471c6f6
Compare
471c6f6 to
886631d
Compare
886631d to
e3fdfbc
Compare
e3fdfbc to
494a94b
Compare
494a94b to
66ba764
Compare
66ba764 to
1da1bec
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:
6.0.0→38.8.6GitHub Vulnerability Alerts
CVE-2020-4075
Impact
The vulnerability allows arbitrary local file read by defining unsafe window options on a child window opened via window.open.
Workarounds
Ensure you are calling
event.preventDefault()on allnew-windowevents where theurloroptionsis not something you expect.Fixed Versions
9.0.0-beta.218.2.47.2.4For more information
If you have any questions or comments about this advisory:
CVE-2020-4077
Impact
Apps using both
contextIsolationandcontextBridgeare affected.This is a context isolation bypass, meaning that code running in the main world context in the renderer can reach into the isolated Electron context and perform privileged actions.
Workarounds
There are no app-side workarounds, you must update your Electron version to be protected.
Fixed Versions
9.0.0-beta.218.2.47.2.4For more information
If you have any questions or comments about this advisory:
CVE-2020-4076
Impact
Apps using
contextIsolationare affected.This is a context isolation bypass, meaning that code running in the main world context in the renderer can reach into the isolated Electron context and perform privileged actions.
Workarounds
There are no app-side workarounds, you must update your Electron version to be protected.
Fixed Versions
9.0.0-beta.218.2.47.2.4Non-Impacted Versions
9.0.0-beta.*For more information
If you have any questions or comments about this advisory:
CVE-2020-15096
Impact
Apps using
contextIsolationare affected.This is a context isolation bypass, meaning that code running in the main world context in the renderer can reach into the isolated Electron context and perform privileged actions.
Workarounds
There are no app-side workarounds, you must update your Electron version to be protected.
Fixed Versions
9.0.0-beta.218.2.47.2.46.1.11For more information
If you have any questions or comments about this advisory:
CVE-2020-26272
Impact
IPC messages sent from the main process to a subframe in the renderer process, through
webContents.sendToFrame,event.replyor when using theremotemodule, can in some cases be delivered to the wrong frame.If your app does ANY of the following, then it is impacted by this issue:
remotewebContents.sendToFrameevent.replyin an IPC message handlerPatches
This has been fixed in the following versions:
Workarounds
There are no workarounds for this issue.
For more information
If you have any questions or comments about this advisory, email us at security@electronjs.org.
CVE-2021-39184
Impact
This vulnerability allows a sandboxed renderer to request a "thumbnail" image of an arbitrary file on the user's system. The thumbnail can potentially include significant parts of the original file, including textual data in many cases.
All current stable versions of Electron are affected.
Patches
This was fixed with #30728, and the following Electron versions contain the fix:
Workarounds
If your app enables
contextIsolation, this vulnerability is significantly more difficult for an attacker to exploit.Further, if your app does not depend on the
createThumbnailFromPathAPI, then you can simply disable the functionality. In the main process, before the 'ready' event:For more information
If you have any questions or comments about this advisory, email us at security@electronjs.org.
CVE-2022-21718
Impact
This vulnerability allows renderers to obtain access to a random bluetooth device via the web bluetooth API if the app has not configured a custom
select-bluetooth-deviceevent handler. The device that is accessed is random and the attacker would have no way of selecting a specific device.All current stable versions of Electron are affected.
Patches
This has been patched and the following Electron versions contain the fix:
17.0.0-alpha.616.0.615.3.514.2.413.6.6Workarounds
Adding this code to your app can workaround the issue.
For more information
If you have any questions or comments about this advisory, email us at security@electronjs.org.
CVE-2022-29247
Impact
This vulnerability allows a renderer with JS execution to obtain access to a new renderer process with
nodeIntegrationInSubFramesenabled which in turn allows effective access toipcRenderer.Please note the misleadingly named
nodeIntegrationInSubFramesoption does not implicitly grant Node.js access rather it depends on the existingsandboxsetting. If your application is sandboxed thennodeIntegrationInSubFramesjust gives access to the sandboxed renderer APIs (which includesipcRenderer).If your application then additionally exposes IPC messages without IPC
senderFramevalidation that perform privileged actions or return confidential data this access toipcRenderercan in turn compromise your application / user even with the sandbox enabled.Patches
This has been patched and the following Electron versions contain the fix:
18.0.0-beta.617.2.016.2.615.5.5Workarounds
Ensure that all IPC message handlers appropriately validate
senderFrameas per our security tutorial here.For more information
If you have any questions or comments about this advisory, email us at security@electronjs.org.
CVE-2022-29257
Impact
This vulnerability allows attackers who have control over a given apps update server / update storage to serve maliciously crafted update packages that pass the code signing validation check but contain malicious code in some components.
Please note that this kind of attack would require significant privileges in your own auto updating infrastructure and the ease of that attack entirely depends on your infrastructure security.
Patches
This has been patched and the following Electron versions contain the fix:
18.0.0-beta.617.2.016.2.015.5.0Workarounds
There are no workarounds for this issue, please update to a patched version of Electron.
For more information
If you have any questions or comments about this advisory, email us at security@electronjs.org
CVE-2022-36077
Impact
When following a redirect, Electron delays a check for redirecting to file:// URLs from other schemes. The contents of the file is not available to the renderer following the redirect, but if the redirect target is a SMB URL such as
file://some.website.com/, then in some cases, Windows will connect to that server and attempt NTLM authentication, which can include sending hashed credentials.Patches
This issue has been fixed in all current stable versions of Electron. Specifically, these versions contain the fixes:
We recommend all apps upgrade to the latest stable version of Electron.
Workarounds
If upgrading isn't possible, this issue can be addressed without upgrading by preventing redirects to file:// URLs in the
WebContents.on('will-redirect')event, for all WebContents:For more information
If you have any questions or comments about this advisory, email us at security@electronjs.org.
Credit
Thanks to user @coolcoolnoworries for reporting this issue.
CVE-2023-29198
Impact
Apps using
contextIsolationandcontextBridgeare affected.This is a context isolation bypass, meaning that code running in the main world context in the renderer can reach into the isolated Electron context and perform privileged actions.
Workarounds
This issue is exploitable under either of two conditions:
contextBridgecan return an object or array that contains a JS object which cannot be serialized, for instance, a canvas rendering context. This would normally result in an exception being thrownError: object could not be cloned.contextBridgehas a return value that throws a user-generated exception while being sent over the bridge, for instance a dynamic getter property on an object that throws an error when being computed.The app side workaround is to ensure that such a case is not possible. Ensure all values returned from a function exposed over the context bridge are supported and that any objects returned from functions do not have dynamic getters that can throw exceptions.
Auditing your exposed API is likely to be quite difficult so we strongly recommend you update to a patched version of Electron.
Fixed Versions
25.0.0-alpha.224.0.123.2.322.3.6For more information
If you have any questions or comments about this advisory, email us at security@electronjs.org
CVE-2023-39956
Impact
Apps that are launched as command line executables are impacted. E.g. if your app exposes itself in the path as
myapp --helpSpecifically this issue can only be exploited if the following conditions are met:
This makes the risk quite low, in fact normally issues of this kind are considered outside of our threat model as similar to Chromium we exclude Physically Local Attacks but given the ability for this issue to bypass certain protections like ASAR Integrity it is being treated with higher importance. Please bear this in mind when reporting similar issues in the future.
Workarounds
There are no app side workarounds, you must update to a patched version of Electron.
Fixed Versions
26.0.0-beta.1325.5.024.7.123.3.1322.3.19For more information
If you have any questions or comments about this advisory, email us at security@electronjs.org
CVE-2023-5217
Heap buffer overflow in vp8 encoding in libvpx in Google Chrome prior to 117.0.5938.132 and libvpx 1.13.1 allowed a remote attacker to potentially exploit heap corruption via a crafted HTML page.
CVE-2023-44402
Impact
This only impacts apps that have the
embeddedAsarIntegrityValidationandonlyLoadAppFromAsarfuses 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
resourcesfolder 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.726.2.125.8.124.8.322.3.24For more information
If you have any questions or comments about this advisory, email us at security@electronjs.org
CVE-2024-46993
Impact
The
nativeImage.createFromPath()andnativeImage.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.2v29.3.3v30.0.3For More Information
If you have any questions or comments about this advisory, email us at security@electronjs.org.
CVE-2025-55305
Impact
This only impacts apps that have the
embeddedAsarIntegrityValidationandonlyLoadAppFromAsarfuses 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
resourcesfolder 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.637.3.136.8.135.7.5For more information
If you have any questions or comments about this advisory, email us at security@electronjs.org
CVE-2026-34767
Impact
Apps that register custom protocol handlers via
protocol.handle()/protocol.registerSchemesAsPrivileged()or modify response headers viawebRequest.onHeadersReceivedmay 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.340.8.339.8.338.8.6For more information
If there are any questions or comments about this advisory, send an email to security@electronjs.org
Release Notes
electron/electron (electron)
v38.8.6: electron v38.8.6Compare Source
Release Notes for v38.8.6
Fixes
additionalDatapassed toapp.requestSingleInstanceLockon Windows could be truncated or fail to deserialize in the primary instance'ssecond-instanceevent. #50177 (Also in 39, 40, 41)v38.8.4: electron v38.8.4Compare Source
Release Notes for v38.8.4
Fixes
v38.8.2: electron v38.8.2Compare Source
Release Notes for v38.8.2
Other Changes
4835695. #49792v38.8.1: electron v38.8.1Compare Source
Release Notes for v38.8.1
Fixes
v38.8.0: electron v38.8.0Compare Source
Release Notes for v38.8.0
Fixes
menu-did-closewas not emitted properly for some application menus. #49094 (Also in 39, 40)systemPreferences.getAccentColorinverted the color. #49066 (Also in 37, 39)Other Changes
Unknown
v38.7.2: electron v38.7.2Compare Source
Release Notes for v38.7.2
Fixes
menu.popupwould fire when any arbitrary submenu of the given menu closed, and not the menu itself. #49047 (Also in 39, 40)v38.7.1: electron v38.7.1Compare Source
Release Notes for v38.7.1
Other Changes
4503289. #490094573510. #48984v38.7.0: electron v38.7.0Compare Source
Release Notes for v38.7.0
Features
app.isHardwareAccelerationEnabled(). #48681 (Also in 37, 39)window.setAccentColor(null). #48853 (Also in 39)Fixes
webContents.openDevTools({ mode: 'detach' })would cause a crash on Wayland. #48926 (Also in 39)Other Changes
4600173. #48950Unknown
v38.6.0: electron v38.6.0Compare Source
Release Notes for v38.6.0
Fixes
Other Changes
v38.5.0: electron v38.5.0Compare Source
Release Notes for v38.5.0
Features
Fixes
dialog.showOpenDialogon Windows with an empty extension filter array. #48660 (Also in 37, 39)trafficLightPositionwould not be correctly applied when usingtitleBarStyle: 'customButtonsOnHover'on macOS 26. #48620 (Also in 37, 39)titleBarOverlaywasn't always calculated to provide appropriate minimum contrast. #48595 (Also in 37, 39)Other Changes
Documentation
v38.4.0: electron v38.4.0Compare Source
Release Notes for v38.4.0
Features
Fixes
v38.3.0: electron v38.3.0Compare Source
Release Notes for v38.3.0
Fixes
dialog.showMessageBoxdefault button handling. #48519 (Also in 36, 37, 39)shell.openExternalcaused an unexpected dialog to open when there was no app suitable to open the url. #48517 (Also in 39)Other Changes
v38.2.2: electron v38.2.2Compare Source
Release Notes for v38.2.2
Fixes
GetPackageJSON. #48424 (Also in 37, 39)v38.2.1: electron v38.2.1Compare Source
Release Notes for v38.2.1
Fixes
v38.2.0: electron v38.2.0Compare Source
Release Notes for v38.2.0
Features
Fixes
XDG_SESSION_TYPEenvironment variable. #48309<input>tag on macOS 26. #48394 (Also in 37, 39)v38.1.2: electron v38.1.2Compare Source
Release Notes for v38.1.2
Other Changes
v38.1.1: electron v38.1.1Compare Source
Release Notes for v38.1.1
Other Changes
v38.1.0: electron v38.1.0Compare Source
Release Notes for v38.1.0
Other Changes
v38.0.0: electron v38.0.0Compare Source
Release Notes for v38.0.0
Stack Upgrades
140.0.7339.4122.18.014.0Breaking Changes
Features
Additions
before-mouse-eventto allow intercepting and preventing mouse events in WebContents. #47280 (Also in 36, 37)fileBackedandpurgeablefields toprocess.getSystemMemoryInfo()for macOS. #48146 (Also in 37)innerWidthandinnerHeightoptions for window.open. #46749 (Also in 35, 36, 37)guidTrayconstructor option on macOS to allow tray icons to maintain position across launches. #48077 (Also in 36, 37)webFrameMain.fromFrameToken(processId, frameToken)to get aWebFrameMaininstance from its frame token. #47942app.getRecentDocuments()on Windows and macOS. #47924 (Also in 36, 37)--no-experimental-global-navigatorflag. #47370 (Also in 35, 36, 37)HIDDevice.collections. #47391 (Also in 36, 37)screen.dipToScreenPoint(point)andscreen.screenToDipPoint(point)on Linux X11. #46211 (Also in 35, 36, 37)paletteandheaderon macOS. #45538 (Also in 37)--experimental-network-inspection. #46690 (Also in 35, 36, 37){get|set}AccentColor. #47939 (Also in 36, 37)Improvements
win.isContentProtected()to allow developers to check window protection status. #47242 (Also in 36, 37)DIR_ASSETSinstead ofDIR_MODULE/DIR_EXEto locate assets and resources, and added "assets" as a key that can be queried viaapp.getPath. #47950 (Also in 37)Fixes
dialog.showMessageDialogshowed a window incorrectly centered to monitor instead of parent window when passed. #48215chrome://accessibilitypage. #47497Also in earlier versions...
addChildView()crashes when adding a closed WebContentsView. #47099 (Also in 35, 36, 37)appextensions filters didn't allow for selecting app bundles in macOS file dialogs. #47841 (Also in 36, 37)Refererheader was not being set correctly when usingwebContents.downloadURL(). #47867 (Also in 36, 37)webContents.loadURL()from a failedwebContents.loadURL()call's catch handler. #48043 (Also in 36, 37)-electron-corner-smoothingCSS rule to a stylesheet with no associated document. #47785 (Also in 37)desktopCapturer.getSourceswith an empty thumbnail size. #47652 (Also in 36, 37)webContentsfunctions afterwindow.close(). #47952 (Also in 36, 37)session.clearDatain some circumstances. #47361 (Also in 35, 36, 37)electronfor the first time from an ESM module loaded by a CJS module in a packaged app. #46810 (Also in 35, 36, 37)setContentProtectiondidn't work as expected. #47886 (Also in 36, 37)app.accessibilitySupportEnableddidn't work as expected. #48060 (Also in 37)net.isOnline()always returnedtruein utilityProcesses. #48151 (Also in 36, 37)require('node:sqlite')didn't work. #47757 (Also in 36, 37)shell.openPathwas not non-blocking as expected. #48089 (Also in 36, 37)webContents.printdid not work as expected whenmediaSizewas not passed. #46937 (Also in 36, 37)accentColorwould result in a white accent color. #47684 (Also in 37)Fetch.continueResponsevia debugger withWebContentsViewcould cause a crash. #47434 (Also in 35, 36, 37)roundedCornersset tofalse. #47681 (Also in 36, 37)contextmenuevent was emitted. #48224 (Also in 36, 37)electron/utilityin an ESM file threw an error at runtime. #48019 (Also in 36, 37)electron/utilitythrew aERR_MODULE_NOT_FOUNDerror at runtime. #47989 (Also in 36, 37)webContents.print({ silent: true })would fail. #47378 (Also in 36, 37)