-
Notifications
You must be signed in to change notification settings - Fork 24
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix(deps): update electron-updater to 6.3.0 [security] #632
fix(deps): update electron-updater to 6.3.0 [security] #632
Conversation
|
Autoclosing SkippedThis PR has been flagged for autoclosing. However, it is being skipped due to the branch being already modified. Please close/delete it manually or report a bug if you think this is in error. |
7bfd28f
to
96ccbc5
Compare
96ccbc5
to
8316dbb
Compare
8316dbb
to
3bc71ea
Compare
This PR contains the following updates:
6.1.8
->6.3.0
GitHub Vulnerability Alerts
CVE-2024-39698
Observations
The file
packages/electron-updater/src/windowsExecutableCodeSignatureVerifier.ts
implements the signature validation routine for Electron applications on Windows. It executes the following command in a new shell (process.env.ComSpec
on Windows, usuallyC:\Windows\System32\cmd.exe
):https://github.com/electron-userland/electron-builder/blob/140e2f0eb0df79c2a46e35024e96d0563355fc89/packages/electron-updater/src/windowsExecutableCodeSignatureVerifier.ts#L35-L41
Because of the surrounding shell, a first pass by
cmd.exe
expands any environment variable found in command-line above.Exploitation
This creates a situation where
verifySignature()
can be tricked into validating the certificate of a different file than the one that was just downloaded. If the step is successful, the malicious update will be executed even if its signature is invalid.Impact
This attack assumes a compromised update manifest (server compromise, Man-in-the-Middle attack if fetched over HTTP, Cross-Site Scripting to point the application to a malicious updater server, etc.).
Patch
This vulnerability was patched in #8295, by comparing the path in the output of
Get-AuthenticodeSignature
with the intended one. The patch is available starting from 6.3.0-alpha.6.Release Notes
electron-userland/electron-builder (electron-updater)
v6.3.0
Compare Source
Minor Changes
53cec79b
Thanks @beyondkmp! - feat: adding differential downloader for updates on macOSPatch Changes
#8108
3d4cc7ae
Thanks @beyondkmp! - feat: addminimumSystemVersion
in electron updater#8304
1ac86c9e
Thanks @mmaietta! - chore: update pnpm to 9.4.0#8323
fa3275c0
Thanks @mmaietta! - chore(deps): update dependency typescript to v5.5.3#8135
c2392de7
Thanks @mmaietta! - fix: unstable hdiutil retry mechanism#8295
ac2e6a25
Thanks @mmaietta! - fix: verify LiteralPath of update file during windows signature verification#8311
35a0784e
Thanks @rastiqdev! - fix(rpm-updater): stop uninstalling app before update#8227
48c59535
Thanks @rotu! - fix(docs): update autoupdate docs noting that channels work with Github#8110
fa7982f1
Thanks @mmaietta! - chore: entering alpha release stageUpdated dependencies [
3d4cc7ae
,1ac86c9e
,ad668ae1
,445911a7
,140e2f0e
,fa7982f1
]:v6.2.1
Compare Source
Patch Changes
e2a181d9
Thanks @mmaietta! - fix(mac): revert autoupdate for mac differentialv6.2.0
Compare Source
Minor Changes
79df5423
Thanks @beyondkmp! - feat: adding differential downloader for updates on macOSv6.1.9
Compare Source
Patch Changes
#8051
48603ba0
Thanks @mmaietta! - fix: auto-update powershell script requires reset ofPSModulePath
#8057
ccbb80de
Thanks @mmaietta! - chore: upgrading connected dependencies (typescript requires higher eslint version)Updated dependencies [
ccbb80de
]:Configuration
📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.