Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessRogue process runs as victim user
-
DeliveryWrite malicious plugin into plugins/ folder
-
ExploitMark plugin enabled in config file
-
ExecutionElectrum startup loads __init__.py unsigned
-
ImpactArbitrary code execution in wallet process
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A04:2025 - Cryptographic Failures
ASVS 5.0
V11 - Cryptography Signature verification
|
| Exploitation Conditions | Exploitation requires a rogue local process already running on the victim's machine as the same OS user, with filesystem write access to the Electrum data directory - specifically the ability to write a plugin into the plugins/ folder and to set that plugin 'enabled' in the user-owned 0600 config file. Only Electrum 4.6.0 through 4.7.1 are affected, because the external plugin system that contains the flawed two-step loader was introduced in 4.6.0. The root cause is that the step-1 __init__.py load checked only the config 'enabled' flag and not the plugin-password ECDSA signature (step 2 did validate the signature). Limiting factors: there is no remote vector (AV:L) and the attack presupposes a prior local compromise at the user's privilege level; it is not exploitable against a host where the attacker lacks local user-level write access to the data directory. |
| Impact | This is a locally-exploitable authorization bypass (CVSS 4.0 8.6, High), and the exploitability signals pull in opposite directions from the impact signals. The CVSS vector is AV:L/AC:L/AT:N/PR:N/UI:N: no user interaction and no Electrum-level authentication, but AV:L means the attacker must already be executing code on the victim's machine. Per the GHSA threat model, exploitation presupposes a rogue local process running as the victim's user with write access to the Electrum data directory - i.e. the host is already partially compromised - so this is a local privilege/trust-boundary escalation into the Electrum process, not a remote attack. Impact is high (VC/VI/VA:H): arbitrary code execution inside a Bitcoin wallet process, which can mean key/seed theft and fund loss. On the exploitation side the signals are quiet: there is no CISA KEV listing, no EPSS score supplied, and no public PoC or exploit reference among the inputs (references are vendor advisory, two patch commits, and the VulnCheck write-up). The vendor/vuln.today decision label is this_week, consistent with a serious-but-locally-gated flaw that should be remediated promptly rather than as an emergency. Net: a genuine priority for high-value or multi-user/shared hosts because of the wallet-theft impact, but the local-access precondition sharply limits real-world mass exploitation compared to the raw score. Note PR:N here reflects that no Electrum authentication is required, not that no foothold is required - the AV:L and the described need for filesystem write access are the true gate. |
| Exploit ScenarioDerived | An attacker who has already achieved low-privilege code execution as the victim's user (e.g. via a separate malware dropper or a compromised unrelated process) drops a malicious plugin into Electrum's plugins/ folder and flips its 'enabled' flag in the 0600 config file. The next time Electrum starts, the loader executes the plugin's __init__.py without verifying the plugin-password ECDSA signature, giving the attacker arbitrary code execution inside the wallet process and access to wallet operations. No public exploit identified at time of analysis, but the mechanism is fully documented in the vendor GHSA and the fix commit. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 28, 2026
Local code execution in Electrum 4.6.0 through 4.7.1 stems from an authorization bypass in the external plugin loader: a rogue process on the same machine that can write to the Electrum data directory can place plugin code in plugins/ and mark it enabled in the config file, after which Electrum loads the plugin's __init__.py without verifying the plugin-password signature and runs attacker code inside the main Python process. The issue is rated CVSS 4.0 8.6 (High) and assessed CVSS 3.1 AV:L/AC:L/PR:N/UI:N with high confidentiality, integrity and availability impact, although exploitation requires prior local write access at the victim's user level. Electrum 4.7.2 contains the vendor fix, and no public exploit identified at time of analysis.
RemediationAI
Upgrade Electrum to 4.7.2, the release that contains the fix (commit 032dfcf107da1d31bbee5d64ca978e554fd8e982, cherry-picked as fd7164d6dc1560b6f153c018cabf17e9411c5414); the vendor advisory is at https://github.com/spesmilo/electrum/security/advisories/GHSA-vw94-r84p-66qf. The advisory does not document a separate workaround, and the local precondition - a rogue process with write access to the Electrum data directory - means hosts where no such same-user write access exists are not exploitable.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Electrum's external plugin system, introduced in 4.6.0, moved human-readable plugin metadata into a manifest.json so the GUI can describe a plugin before executing it, but kept __init__.py for registering CLI commands; plugin loading therefore happens in two steps. Before 4.7.2, step 2 validated that the plugin zip hash was ECDSA-signed with the plugin password's private key, checked against a root-owned public-key file, while step 1 loaded __init__.py based only on the plugin being marked enabled in the user-owned 0600 config file. That missing signature check is CWE-347 (Improper Verification of Cryptographic Signature) and lets a same-user local process that can write the plugins/ directory and the config achieve code execution inside the main Electrum Python process. The trigger is a crafted plugin placed in plugins/ plus an enabled entry in the config; no remote vector is involved.
Know when Electrum gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Attacker needs local filesystem write access as the user but no Electrum authentication and no user interaction, and the unsigned load reliably yields full code execution in the wallet process, so AV:L/AC:L/PR:N/UI:N with C/I/A:H.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
Electrum 4.6.0 before 4.7.2 contains an authorization bypass in the external plugin loader, which executes a plugin's __init__.py module when the plugin is marked enabled in the config file, without verifying its plugin-password signature. A rogue local process with write access to the Electrum data directory can place plugin code in the plugins/ folder and mark it enabled, causing arbitrary code execution inside the Electrum process.
Technical POC Analysis
CWE-347, Improper Verification of Cryptographic Signature.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
Electrum versions 4.6.0 through 4.7.1 contain a local privilege escalation flaw that allows an attacker with existing local write access to the user's Electrum data directory to execute arbitrary code within the Electrum process. This could lead to theft of cryptocurrency wallets, manipulation of transactions, and full compromise of the affected user's system. Leadership should prioritize patching because the vulnerability directly threatens digital asset security and could result in significant financial loss and reputational damage.
Apply vendor patch (upgrade to Electrum 4.7.2).
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.
The Python console in Electrum through 2.9.4 and 3.x through 3.0.5 supports arbitrary Python code without considering (1
Electrum wallets before 4.8.3 can be tricked into replacing a just-broadcast Bitcoin transaction with a conflicting inva
Electrum's built-in Nostr Wallet Connect plugin can be driven past the user's configured daily_limit_sat, letting an unt
paymentrequest.py in Electrum before 4.2.2 allows a file:// URL in the r parameter of a payment request (e.g., within QR
Electrum Technologies GmbH Electrum Bitcoin Wallet version prior to version 3.0.5 contains a Missing Authorization vulne
EUVD-2026-110851
GHSA-g9gm-5xmx-9r6w
NVD
CVE.org
EPSS
Exploit-DB