Electerm has an unvalidated shell.openExternal that allows arbitrary protocol execution via terminal link clickGHSA-fwf6-j56g-m97c
HIGHGHSA-fwf6-j56g-m97c is a high-severity (CVSS 8.8) CWE-88 vulnerability in electerm. The records list no fixed version yet; check the vendor advisory below and apply the mitigations in the meantime.
Exploitation Status
No confirmed exploitation observed yet
- A successful exploit gives an attacker total control of the affected component, not partial access.
- CISA’s own triage has not observed active exploitation or public proof-of-concept code for this CVE as of its last assessment.
Exploitation and automatability from CISA’s SSVC triage for GHSA-fwf6-j56g-m97c.
EPSS Exploitation Probability
Probability of exploitation in the next 30 days, from FIRST.org EPSS.
How urgent is this, really
Where this sits among everything scored
Real-World Exposure
How broadly this vulnerability is actually deployed: weekly install volume shows current usage, and reverse-dependency count shows how many other packages break if it stays unpatched.
electermnpmDescription
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
- electerm GitHub Repository
- electerm Security Policy
- Vulnerability details originally reported by external researcher (confirmed on v3.7.9, Win10).
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| 📦npm | electerm | all versions | No fix |
Affected Products
electermelecterm_projectDetection & mitigation playbook
Open-source dependencyDetect
Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for electerm, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.
Remediation status
The records we use list no patched version of electerm for GHSA-fwf6-j56g-m97c. Check the maintainer's advisory, and where your build allows, override or pin the dependency away from the vulnerable range.
Mitigate without a patch
Stop reflecting attacker-controlled destinations: resolve every redirect target against an allowlist of paths or hosts you own, prefer a server-side key over a full URL in the request, and reject absolute URLs entirely where the flow only ever needs a relative one.
Frequently Asked Questions
Is GHSA-fwf6-j56g-m97c in your dependencies?
Find it across npm, including transitive dependencies.