High

Electerm has an unvalidated shell.openExternal that allows arbitrary protocol execution via terminal link click

  • Disclosed: 08.05.2026
  • Updated: 11.10.2026 10:22

Impact

Electerm's terminal hyperlink handler passes any URL clicked in the terminal directly to shell.openExternal without any protocol validation.

When a user connects to a malicious SSH server, the attacker can print a crafted URI in the terminal output. If the victim clicks the link, shell.openExternal executes it using the operating system's default protocol handler.

This can be abused to:

  • Trigger dangerous protocol handlers (ms-msdt:, search-ms:) for code execution
  • Open local files or network shares (file://, UNC paths) to leak NTLM hashes or exfiltrate data
  • Launch any installed application associated with a custom URI scheme

An attacker who controls terminal output (e.g., via a malicious SSH server, compromised remote host, or malicious plugin rendering terminal content) can thus achieve arbitrary code execution or local file access on the victim's machine, requiring only that the victim clicks a displayed link.

Patches

As of electerm v3.7.9, no official patch has been released. Users should monitor the project’s GitHub releases and security page for an update addressing this issue.

Workarounds

Until a patch is available:

  • Do not click on any links displayed in terminal sessions connected to untrusted servers.
  • If possible, disable hyperlink rendering in electerm's terminal settings.
  • Use a terminal multiplexer (e.g., tmux) or a separate terminal application that filters URI schemes when working with untrusted hosts.
  • Consider running electerm in a restricted environment (sandbox, AppArmor, SELinux) that limits the spawning of protocol handlers.

Resources

Affected software

Click a technology to see all vulnerabilities affecting it.

PlatformPackageVulnerable versionsFixed in
npm package electerm <= 3.8.15 no fix

References

CVSS score 8.8/10
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Weakness (CWE)
CWE-601, CWE-88
Platform
npm
Package
electerm
Disclosed
08.05.2026
Updated
11.10.2026 10:22

Sources and licenses

OSV / GitHub Advisory Database - GHSA-fwf6-j56g-m97c - CC BY 4.0

Vulnerability history: electerm

All published vulnerabilities of this package (npm package), newest first. Shows whether this is a one-off slip or a package that needs watching.

All (13) in the archive
Total entries
13
First → latest
01.2023 07.2026
Without a fix
4
Exploited in attacks
0

Severity breakdown

  • Critical 7
  • High 4
  • Medium 2

Disclosures per year

  1. 2023: 1
  2. 2024: 0
  3. 2025: 0
  4. 2026: 12
Severity:
  1. Critical · 7.8 CVE-2026-45353 >= 3.0.6, < 3.9.0 3.9.0
  2. Critical · 9.6 CVE-2026-43944 >= 3.0.6, < 3.8.8 3.8.8
  3. Electerm has an unvalidated shell.openExternal that allows arbitrary protocol execution via terminal link click this entry
    High · 8.8 CVE-2026-43941 <= 3.8.15 no fix
  4. Critical · 9.8 CVE-2026-41501 < 3.3.8 3.3.8
  5. Critical · 9.8 CVE-2020-23256 <= 1.3.22 no fix

Know which vulnerabilities affect your application

With the DockRay integration and software inventory enabled, DockRay checks reported component versions against known vulnerabilities and notifies you about confirmed matches. Coverage depends on the supported technology and available advisory data.

Connect your application
DockRay newsletter

Application security in your inbox

Important vulnerabilities, actionable guidance and practical advice for your applications. Choose your technologies and follow what matters to your project.

  • A daily digest of new vulnerabilities, critical ones included.
  • Notifications about important updates.
  • Practical advice on application security and monitoring.

Leave empty to receive updates for every technology.

Free to subscribe. Unsubscribe with one click in any email.