Логотип exploitDog
Консоль
Логотип exploitDog

exploitDog

github логотип

GHSA-mwmh-mq4g-g6gr

Опубликовано: 03 апр. 2026
Источник: github
Github: Прошло ревью
CVSS3: 4.7

Описание

Electron: Registry key path injection in app.setAsDefaultProtocolClient on Windows

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

Пакеты

Наименование

electron

npm
Затронутые версииВерсия исправления

< 38.8.6

38.8.6

Наименование

electron

npm
Затронутые версииВерсия исправления

>= 39.0.0-alpha.1, < 39.8.1

39.8.1

Наименование

electron

npm
Затронутые версииВерсия исправления

>= 40.0.0-alpha.1, < 40.8.1

40.8.1

Наименование

electron

npm
Затронутые версииВерсия исправления

>= 41.0.0-alpha.1, < 41.0.0

41.0.0

EPSS

Процентиль: 15%
0.0024
Низкий

4.7 Medium

CVSS3

Дефекты

CWE-20
CWE-74

Связанные уязвимости

CVSS3: 4.7
redhat
4 месяца назад

Electron is a framework for writing cross-platform desktop applications using JavaScript, HTML and CSS. Prior to versions 38.8.6, 39.8.1, 40.8.1, and 41.0.0, 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. This issue has been patched in versions 38.8.6, 39.8.1, 40.8.1, and 41.0.0.

CVSS3: 4.7
nvd
4 месяца назад

Electron is a framework for writing cross-platform desktop applications using JavaScript, HTML and CSS. Prior to versions 38.8.6, 39.8.1, 40.8.1, and 41.0.0, 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. This issue has been patched in versions 38.8.6, 39.8.1, 40.8.1, and 41.0.0.

CVSS3: 4.7
debian
4 месяца назад

Electron is a framework for writing cross-platform desktop application ...

EPSS

Процентиль: 15%
0.0024
Низкий

4.7 Medium

CVSS3

Дефекты

CWE-20
CWE-74