Описание
electron-builder's NSIS installer - execute arbitrary code on the target machine (Windows only)
Impact
Windows-Only: The NSIS installer makes a system call to open cmd.exe via NSExec in the .nsh installer script. NSExec by default searches the current directory of where the installer is located before searching PATH. This means that if an attacker can place a malicious executable file named cmd.exe in the same folder as the installer, the installer will run the malicious file.
Patches
Fixed in https://github.com/electron-userland/electron-builder/pull/8059
Workarounds
None, it executes at the installer-level before the app is present on the system, so there's no way to check if it exists in a current installer.
References
https://cwe.mitre.org/data/definitions/426.html https://cwe.mitre.org/data/definitions/427
Ссылки
- https://github.com/electron-userland/electron-builder/security/advisories/GHSA-r4pf-3v7r-hh55
- https://nvd.nist.gov/vuln/detail/CVE-2024-27303
- https://github.com/electron-userland/electron-builder/pull/8059
- https://github.com/electron-userland/electron-builder/commit/8f4acff3c2d45c1cb07779bb3fe79644408ee387
Пакеты
app-builder-lib
< 24.13.2
24.13.2
Связанные уязвимости
electron-builder is a solution to package and build a ready for distribution Electron, Proton Native app for macOS, Windows and Linux. A vulnerability that only affects eletron-builder prior to 24.13.2 in Windows, the NSIS installer makes a system call to open cmd.exe via NSExec in the `.nsh` installer script. NSExec by default searches the current directory of where the installer is located before searching `PATH`. This means that if an attacker can place a malicious executable file named cmd.exe in the same folder as the installer, the installer will run the malicious file. Version 24.13.2 fixes this issue. No known workaround exists. The code executes at the installer-level before the app is present on the system, so there's no way to check if it exists in a current installer.