pangea-poker
pangea-poker copied to clipboard
Update dependency electron to v22 [SECURITY]
This PR contains the following updates:
Package | Change | Age | Adoption | Passing | Confidence |
---|---|---|---|---|---|
electron | 10.4.5 -> 22.3.25 |
GitHub Vulnerability Alerts
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:
- 15.0.0-alpha.10
- 14.0.0
- 13.3.0
- 12.1.0
- 11.5.0
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 createThumbnailFromPath
API, then you can simply disable the functionality. In the main process, before the 'ready' event:
delete require('electron').nativeImage.createThumbnailFromPath
For more information
If you have any questions or comments about this advisory, email us at [email protected].
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-device
event 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.6
-
16.0.6
-
15.3.5
-
14.2.4
-
13.6.6
Workarounds
Adding this code to your app can workaround the issue.
app.on('web-contents-created', (event, webContents) => {
webContents.on('select-bluetooth-device', (event, devices, callback) => {
// Prevent default behavior
event.preventDefault();
// Cancel the request
callback('');
});
});
For more information If you have any questions or comments about this advisory, email us at [email protected].
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.6
-
17.2.0
-
16.2.0
-
15.5.0
Workarounds
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 [email protected]
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:
- 21.0.0-beta.1
- 20.0.1
- 19.0.11
- 18.3.7
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:
app.on('web-contents-created', (e, webContents) => {
webContents.on('will-redirect', (e, url) => {
if (/^file:/.test(url)) e.preventDefault()
})
})
For more information
If you have any questions or comments about this advisory, email us at [email protected].
Credit
Thanks to user @coolcoolnoworries for reporting this issue.
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 --help
Specifically this issue can only be exploited if the following conditions are met:
- Your app is launched with an attacker-controlled working directory
- The attacker has the ability to write files to that working directory
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.13
-
25.5.0
-
24.7.1
-
23.3.13
-
22.3.19
For more information
If you have any questions or comments about this advisory, email us at [email protected]
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 embeddedAsarIntegrityValidation
and onlyLoadAppFromAsar
[fuses] (https://www.electronjs.org/docs/latest/tutorial/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 .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
-
27.0.0-alpha.7
-
26.2.1
-
25.8.1
-
24.8.3
-
23.3.14
-
22.3.24
For more information
If you have any questions or comments about this advisory, email us at [email protected]
Release Notes
electron/electron (electron)
v22.3.25
: electron v22.3.25
Release Notes for v22.3.25
Other Changes
- Security: backported fix for CVE-2023-5217. #40026
v22.3.24
: electron v22.3.24
Release Notes for v22.3.24
Other Changes
- Security: backported fix for CVE-2023-4572. #39689
- Security: backported fix for CVE-2023-4762. #39758
- Security: backported fix for CVE-2023-4863. #39827
v22.3.23
: electron v22.3.23
Release Notes for v22.3.23
Other Changes
- Security: backported fix for CVE-2023-4427.
- Security: backported fix for CVE-2023-4428. #39648
v22.3.22
: electron v22.3.22
Release Notes for v22.3.22
Fixes
Other Changes
- Security: backported fix for CVE-2023-4355.
- Security: backported fix for CVE-2023-4354.
- Security: backported fix for CVE-2023-4353.
- Security: backported fix for CVE-2023-4352.
- Security: backported fix for CVE-2023-4351. #39559
v22.3.21
: electron v22.3.21
Release Notes for v22.3.21
Fixes
- Fixed unnecessary package.json check on built-in modules. #39425
Other Changes
- Security: backported fix for
1444438
.- Security: backported fix for CVE-2023-3732.
- Security: backported fix for CVE-2023-3728.
- Security: backported fix for CVE-2023-3730. #39269
v22.3.18
: electron v22.3.18
Release Notes for v22.3.18
Other Changes
- Security: backported fix for CVE-2023-3422.
v22.3.17
: electron v22.3.17
Release Notes for v22.3.17
Other Changes
- Security: backported fix for CVE-2023-3422.
v22.3.16
: electron v22.3.16
Release Notes for v22.3.16
Other Changes
- Security: backported fix for CVE-2023-3215.
v22.3.15
: electron v22.3.15
Release Notes for v22.3.15
Other Changes
- Security: backported fix for CVE-2023-3215.
v22.3.14
: electron v22.3.14
Release Notes for v22.3.14
Other Changes
- Security: backported fix for CVE-2023-3215.
v22.3.13
: electron v22.3.13
Release Notes for v22.3.13
Other Changes
- Security: backported fix for
1437346
.- Security: backported fix for
1439691
. - Security: backported fix for CVE-2023-2724.
- Security: backported fix for CVE-2023-2723.
- Security: backported fix for
1425115
. - Security: backported fix for
1431761
. - Security: backported fix for CVE-2023-2725.
- Security: backported fix for CVE-2023-2721.
- Security: backported fix for
1442263
. #38332
- Security: backported fix for
- Security: backported fix for
1447430
.- Security: backported fix for CVE-2023-3079. #38653
- Security: backported fix for CVE-2023-2933.
v22.3.12
: electron v22.3.12
Release Notes for v22.3.12
Other Changes
v22.3.11
: electron v22.3.11
Release Notes for v22.3.11
Other Changes
v22.3.10
: electron v22.3.10
Release Notes for v22.3.10
Other Changes
- Security: backported fix for CVE-2023-29469. #38274
v22.3.9
: electron v22.3.9
Release Notes for v22.3.9
Other Changes
- Fixed drag-and-drop crash on Wayland. #38199
v22.3.8
: electron v22.3.8
Release Notes for v22.3.8
Fixes
v22.3.7
: electron v22.3.7
Release Notes for v22.3.7
Fixes
- Fixed an issue which made defaultFontFamily in webPreferences have no effect. #37970 (Also in 23, 24, 25)
- Fixed broken defaults in
shell.openExternal()
options. #38092 (Also in 23, 24, 25) - Fixed the active background color for top-level menu items on Windows. #37991 (Also in 23, 24)
Other Changes
- Security: backported fix for
1360571
. #38062 - Security: backported fix for
1404790
. #38064 - Security: backported fix for
1417317
. #37665 - Security: backported fix for
1427388
. #37983 - Security: backported fix for
1428820
. #38068 - Security: backported fix for CVE-2023-2033. #37980
- Security: backported fix for CVE-2023-2133. #38058
- Security: backported fix for CVE-2023-2134. #38056
- Security: backported fix for CVE-2023-2135. #38060
- Security: backported fix for CVE-2023-2136. #38066
v22.3.6
: electron v22.3.6
Release Notes for v22.3.6
Fixes
- Fixed recommended
node-gyp
version innode.h
error. #37942 (Also in 23, 24, 25) - Security: Fixed an issue with Content-Security-Policy not being correctly enforced when sandbox: false and contextIsolation: false. (CVE-2023-23623). #37843 (Also in 24)
Other Changes
- Fixed a memory leak in v8.serialize() when running Node.js within Electron. #37774 (Also in 23)
- Security: backported fix for CVE-2023-1810. #37850
- Security: backported fix for CVE-2023-1811. #37848
v22.3.5
: electron v22.3.5
Release Notes for v22.3.5
Fixes
- Fixed an issue where calling
port.postMessage
inMessagePortMain
with some invalid parameters could cause a crash. #37725 (Also in 23, 24) - Fixed canceling of bluetooth requests when no devices are returned. #37739 (Also in 23, 24)
Other Changes
- Security: backported fix for
1412991
. #37659 - Security: backported fix for
1418734
. #37661 - Security: backported fix for CVE-2023-1214. #37654
- Security: backported fix for CVE-2023-1217. #37652
- Security: backported fix for CVE-2023-1218. #37650
- Security: backported fix for CVE-2023-1219. #37669
- Security: backported fix for CVE-2023-1529. #37694
- Security: backported fix for CVE-2023-1530. #37698
- Security: backported fix for CVE-2023-1531. #37696
- Security: backported fix for CVE-2023-1532. #37693
- Security: backported fix for CVE-2023-1534. #37691
v22.3.4
: electron v22.3.4
Release Notes for v22.3.4
Fixes
- Fixed an issue with potential dock icon duplication on macOS. #37623 (Also in 23, 24)
- Fixed issue with BrowserWindow not updating after call to previewFile. #37576 (Also in 23, 24)
- Improved error messages on
session.cookies.set
failure. #37595 (Also in 23, 24)
Other Changes
- Security: backported fix for
1415249
. #37671 - Security: backported fix for
1416916
. #37657 - Security: backported fix for
1417585
. #37663 - Security: backported fix for CVE-2023-1213. #37656
- Security: backported fix for CVE-2023-1215. #37648
- Security: backported fix for CVE-2023-1220. #37667
v22.3.3
: electron v22.3.3
Release Notes for v22.3.3
Fixes
- Fixed an issue where unhandled rejections could cause duplicate logs in some cases. #37502 (Also in 23, 24)
Other Changes
- Security: backported fix for
1414224
. #37483 - Security: backported fix for CVE-2023-0928. #37481
- Security: backported fix for CVE-2023-0929. #37479
- Security: backported fix for CVE-2023-0931. #37477
- Security: backported fix for CVE-2023-0932. #37485
v22.3.2
: electron v22.3.2
Release Notes for v22.3.2
Fixes
- Fixed an issue where
minWidth
/minHeight
andmaxWidth
/maxHeight
would not be enforced if the user set anaspectRatio
on macOS. #37458 (Also in 23, 24) - Fixed an issue where passing both
hasReply
andactions
to a main process Notification on macOS resulted in the first action being obscured and unavailable. #37447 (Also in 23, 24) - Fixed window could not go back to maximized state when restored on Linux. #37360 (Also in 23, 24)
Other Changes
v22.3.1
: electron v22.3.1
Release Notes for v22.3.1
Other Changes
- Security: backported fix for chromium:1408392. #37298
Documentation
- Documentation changes: #37289
v22.3.0
: electron v22.3.0
Release Notes for v22.3.0
Features
Fixes
- Fixed a crash when
BrowserView
s are present and a user attempts to preventbeforeunload
in the renderer process. #37266 (Also in 23, 24) - Fixed an incorrect result returned when using secure as a cookies filter. #37247 (Also in 24)
Other Changes
- Security: backported fix for CVE-2023-0696. #37192
v22.2.1
: electron v22.2.1
Release Notes for v22.2.1
Features
- Whole-program optimization is enabled by default in electron node headers config file. #37047 (Also in 21, 23)
Fixes
- Basic accessibility support is now enabled when macOS Voice Control is activated to allow for full voice control of Electron applications. #37146 (Also in 21, 23)
- Fixed audio worklet scripts failing to run when
nodeIntegrationInWorker: true
. #37102 (Also in 23)
Documentation
- Documentation changes: #37107
v22.2.0
: electron v22.2.0
Release Notes for v22.0.0
Stack Upgrades
- Chromium 108.0.5359.62.
- Node v16.17.1.
- V8 v10.8
Breaking Changes
- Added WebContents
input-event
event.- Deprecated BrowserWindow
scroll-touch-*
events. #35531
- Deprecated BrowserWindow
- The deprecated
new-window
event has been removed. #34526
Features
- Added
LoadBrowserProcessSpecificV8Snapshot
as a new fuse that will let the main/browser process load its v8 snapshot from a file atbrowser_v8_context_snapshot.bin
. Any other process will use the same path as is used today. #35266 (Also in 20, 21) - Added
WebContents.opener
to access window opener. - Added
app.getSystemLocale()
method. #35697 (Also in 21) - Added
contextBridge.exposeInIsolatedWorld(worldId, key, api)
to expose an API to anisolatedWorld
within a renderer from a preload script. #34974 - Added
webContents.close()
method. #35509 - Added
webFrameMain.origin
. #35438 (Also in 19, 20, 21) - Added an
app.getPreferredSystemLanguages()
API to return the user's system languages. #36291 (Also in 21) - Added new UtilityProcess API to launch chromium child process with node integration. #36089
- Added new WebContents event
content-bounds-updated
. #35533 - Added new
WebContents.ipc
andWebFrameMain.ipc
APIs. #34959 (Also in 21) - Added support for Web Bluetooth pin pairing on Linux and Windows. #35416 (Also in 21)
- Added support for
navigator.mediaDevices.getDisplayMedia
via a new session handler,ses.setDisplayMediaRequestHandler
. #30702 - Added support for
serialPort.forget()
as well as a new eventserial-port-revoked
emitted when a given origin is revoked. #36062
Fixes
- Added support for Webauthn discoverable keys (aka resident keys), allowing users to authenticate without first having to select or type a username. #35374
- Enable crashpad for ELECTRON_RUN_AS_NODE processes on linux. #36483
- Fixed
click
event and tooltip ofTray
not working on Linux. #36472 - Fixed an issue where frameless non-resizable windows showed a Windows 7 frame during startup. #36024
- Fixed an issue with incomplete EventEmitter object in sandboxed renderer preload script. #35522
- Fixed race condition during update on macOS that could result in TCC and Keychain errors. #36362
- Removed unneeded --turbo-profiling-input argument from mksnapshot_args. #36463
Also in earlier versions...
- Added a background to the WCO container to avoid rendering glitches. #35569 (Also in 19, 20, 21)
- Added support for Windows drop-down dialog extensions. #35618 (Also in 18, 19, 20, 21)
- Default margin has been added in the code. #36073 (Also in 21)
- Enable WCO maximize button when window enters tablet mode and is not already maximized. #35617 (Also in 19, 20, 21)
- Fixed
uv_os_gethostname
failing on Windows 7. #35702 (Also in 19, 20, 21) - Fixed a bug where calling
atob
in the renderer process could fail under some circumstances. #35415 (Also in 19, 20, 21) - Fixed a crash that occured when loading non-standard schemes from iframes. #35485 (Also in 21)
- Fixed a crash when switching origins with emulation settings set. #35466 (Also in 21)
- Fixed a drag-and-drop issue on macOS where items would be incorrectly moved instead of copied in some contexts. #35976 (Also in 20, 21)
- Fixed a potential crash on WebWorker destruction. #35422 (Also in 19, 20, 21)
- Fixed a potential issue when calling
webContents.printToPDF()
. #36065 (Also in 21) - Fixed a potential memory leak. #35964 (Also in 21)
- Fixed an edge case in
app.isInApplicationsFolder()
which would return false incorrectly in some cases. #35636 (Also in 19, 20, 21) - Fixed an issue where DevTools could not be docked with Windows Control Overlay enabled. #35754 (Also in 19, 20, 21)
- Fixed an issue where WCO could occlude DevTools opened in any non-detached mode. #35209 (Also in 18, 19, 20, 21)
- Fixed an issue where
screen.getCursorScreenPoint()
crashed on Wayland when it was called before aBrowserWindow
had been created. #35503 (Also in 21) - Fixed an issue where
serialPort.open()
failed withNetworkError: Failed to open serial port.
. #35306 (Also in 21) - Fixed an issue where app.relaunch loses args when execPath is specified. #35108 (Also in 19, 20, 21)
- Fixed an issue where calling
app.dock.setIcon(/path/t/icon)
would crash when called before theready
event onapp
. #36293 (Also in 20, 21) - Fixed an issue where frameless resizable windows showed Window 7 style frames while opening. #35189 (Also in 18, 19, 20, 21)
- Fixed an issue where frameless windows with
roundedCorners: false
couldn't enter fullscreen without crashing. #35421 (Also in 19, 20, 21) - Fixed an issue where part of the BrowserView could be cut off when calling
setBounds
on some windows. #34713 (Also in 19, 20, 21) - Fixed an issue where some options were incorrectly ignored when using
webContents.printToPDF()
. #35993 (Also in 21) - Fixed crash in renderer when resuming system from sleep. #35322 (Also in 18, 19, 20, 21)
- Fixed enable promise support with webFrameMain.executeJavaScript. #35292 (Also in 20, 21)
- Fixed issue with history.back() in sandboxed iframes affecting parent browsing context. #35420 (Also in 19, 20, 21)
- Fixed on-screen-keyboard not hiding on input rendered in webview is blurred. #35983 (Also in 20, 21)
- Fixed session.getBlobData never resolves with blob sizes > 65536. #35277 (Also in 19, 20, 21)
- Fixed spurious promise rejection in
webContents.loadURL
when navigating to a hash. #36151 (Also in 20, 21) - Fixed undefined details.requestingUrl from session.setPermissionCheckHandler. #35281 (Also in 20, 21)
- Fixed v8 flags and desktop name in package.json does not hornored when running local app using electron cli. #36049 (Also in 20, 21)
- Fixed: If a custom Electron build contains an electron.d.ts file, it is now being used. #33979 (Also in 20, 21)
- Picture-In-Picture mode no longer becomes a red rectangle on hover. #35034 (Also in 19, 20, 21)
- Provided display_id for desktopCapturer on Linux. #33861 (Also in 19, 20, 21)
- Removed support for
nodeIntegrationInWorker
in Service Workers and Shared Workers owing to sandboxing policies. #36010 (Also in 21) - Usage of
safeStorage
now consistently uses the correct service name on macOS regardless of timing with browser window construction. #34683 (Also in 19, 20) - You can now import the built-in electron module via ESModule loaders, i.e.
import('electron')
andimport 'electron'
now work natively. #35957 (Also in 20, 21) - Fixed a typo in the section on debugging with VSCode. #35256 (Also in 19, 20, 21)
Other Changes
- Backported fix for chromium:1352405. #36458
- Bumps the minimum required version of Node.js needed to install Electron to 12.20.55. #35301
- Enabled out-of-process iframe printing to PDF with
webContents.printToPDF().
. #36095 - Fixed
win.getBrowserViews()
not being updated when a BrowserView was moved to a different window. #35511 - Fixed an issue where some spellcheck functionality would incorrectly throw errors on macOS. #35514 (Also in 21)
- Modified the WCO maximized button style to match Windows 11 more closely. #35370 (Also in 20, 21)
- Updated
common.gypi
for native modules to support C++17 features in V8. #36369 (Also in 20, 21)
Documentation
Notices
Sunsetting Windows 7/8/8.1
Electron will be ending support for Windows 7/8/8.1 after version 22.x.y following Chromium's plan to end support. Older versions of Electron will continue to work, but no further updates will be made for these operating systems.
End of Support for 19.x.y
Electron 19.x.y has reached end-of-support as per the project's support policy. Developers and applications are encouraged to upgrade to a newer version of Electron.
v22.1.0
: electron v22.1.0
Release Notes for v22.1.0
Features
Fixes
- Fixed an issue where
webView
s could have an incorrect initial background color following reloads. #36940 (Also in 21, 23) - Removed plugin helper checks on macOS gated behind enable_plugins buildflag. #36978 (Also in 23)
Other Changes
- Fixed voiceover repeating selected text when expanding selection in a textarea. #36991
v22.0.3
: electron v22.0.3
Release Notes for v22.0.3
Fixes
- Fixed an issue on macOS when trying to switch processes with
Cmd+Tab
after exiting Kiosk Mode. #36918 (Also in 21, 23) - Fixed an issue where the
setPermissionRequestHandler
callback would be invoked twice when usingnavigator.getUserMedia(...)
. #36873 (Also in 23) - Use the process cache to reduce the memory for asar file. #36664 (Also in 21, 23)
v22.0.2
: electron v22.0.2
Release Notes for v22.0.2
Fixes
- Fixed an RTL issue that could happen in some locales when calling
BrowserWindow.setTrafficLightPosition()
on macOS. #36851 (Also in 21, 23) - Fixed an error when fs.readdir gets null for options. #36849 (Also in 23)
- Fixed missing headers in libcxx_headers bundle. #36865
Other Changes
v22.0.1
: electron v22.0.1
Release Notes for v22.0.1
Fixes
- Changed HTML5 Notifications created with the
requireInteraction
option to not timeout on Linux and Windows. #36501 (Also in 21) - Fixed a crash that could occur when running eval in inline scripts in unsandboxed renderer processes. #36668 (Also in 23)
- Fixed an issue with incorrect focus ring highlighting when using
dialog.showMessageBox()
. #36802 (Also in 21, 23) - Fixed binary stripping for branded release builds on Linux. #36654 (Also in 21, 23)
- Fixed warning about duplicate
WebSwapCGLLayer
symbols when Electron starts on macOS. #36800 (Also in 21, 23)
Other Changes
- Added node-api: handle no support for external buffers. #36624
- Backported fix for chromium:1352405. #36517
- Backported fix for chromium:1352405. #36518
- Removed unneeded --turbo-profiling-input argument from mksnapshot_args for Linux mksnapshot zips. #36782 (Also in 23)
- Updated Chromium to 108.0.5359.99. #36613
v22.0.0
: electron v22.0.0
Release Notes for v22.0.0
Stack Upgrades
- Chromium 108.0.5359.62.
- Node v16.17.1.
- V8 v10.8
Breaking Changes
- Added WebContents
input-event
event.- Deprecated BrowserWindow
scroll-touch-*
events. #35531
- Deprecated BrowserWindow
- The deprecated
new-window
event has been removed. #34526
Features
- Added
LoadBrowserProcessSpecificV8Snapshot
as a new fuse that will let the main/browser process load its v8 snapshot from a file atbrowser_v8_context_snapshot.bin
. Any other process will use the same path as is used today. #35266 (Also in [20](https://togithu