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

exploitDog

github логотип

GHSA-37j4-88rp-2f6h

Опубликовано: 08 мая 2026
Источник: github
Github: Прошло ревью
CVSS3: 6.5

Описание

Electerm's full process.env exposed to renderer via window.pre.env

Impact

The getConstants() IPC handler in src/app/lib/ipc-sync.js serialises the entire process.env object and sends it to the renderer. The data is stored as window.pre.env and is accessible from any JavaScript running in the renderer (e.g., via the DevTools console or a compromised webview context).

On developer and CI machines, process.env routinely contains secrets such as:

  • AWS_SECRET_ACCESS_KEY / AWS_SESSION_TOKEN
  • GITHUB_TOKEN / NPM_TOKEN
  • OPENAI_API_KEY / DOCKER_AUTH
  • Internal service credentials, API keys, and database URLs

An attacker who achieves any JavaScript execution within the renderer—for example, through a malicious plugin, a cross-site scripting (XSS) flaw, or the terminal hyperlink execution chain—can trivially exfiltrate these secrets to a remote server, leading to cloud account compromise, supply chain attacks, and lateral movement. The exposure is visible even without any code execution by simply opening the "Info" modal in the application, though that requires local access.

Patches

A patch is yet to be available.

Workarounds

Until a patch is released:

  • Avoid launching electerm with sensitive environment variables set. Use shell scripts or a dedicated terminal profile that clears secrets before starting the application.
  • Do not install plugins from untrusted sources, and audit any installed plugins for network access.
  • Keep the renderer context as locked down as possible: disable the remote debugging port, and do not paste untrusted code into the DevTools console.

Resources

Пакеты

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

electerm

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

<= 3.8.15

Отсутствует

EPSS

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

6.5 Medium

CVSS3

Дефекты

CWE-200
CWE-312

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

CVSS3: 5.5
nvd
3 месяца назад

electerm is an open-sourced terminal/ssh/sftp/telnet/serialport/RDP/VNC/Spice/ftp client. In versions 3.8.15 and prior, the getConstants() IPC handler in src/app/lib/ipc-sync.js serialises the entire process.env object and sends it to the renderer. The data is stored as window.pre.env and is accessible from any JavaScript running in the renderer (e.g., via the DevTools console or a compromised webview context). An attacker who achieves any JavaScript execution within the renderer can trivially exfiltrate these secrets to a remote server, leading to cloud account compromise, supply chain attacks, and lateral movement. At time of publication, there are no publicly available patches.

EPSS

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

6.5 Medium

CVSS3

Дефекты

CWE-200
CWE-312