Summary
CVE-2026-78391 is a stored Cross-Site Scripting (XSS) vulnerability affecting RansomLook, an open-source ransomware tracking platform, in versions 0 through 2.0.0. The flaw resides in the cryptocurrency wallet detail view, where untrusted blockchain addresses and chain names ingested from external feeds (including ransomwhe.re) are stored without adequate validation and later embedded into inline JavaScript onclick handlers. The vulnerability carries a High severity rating (8.8) and can be triggered without authentication or user interaction beyond a single click on the page’s CSV export button.
Technical details
- Root cause: Cryptocurrency addresses and blockchain identifiers sourced from external, untrusted feeds (e.g., ransomwhe.re) are stored without character-set validation and are later interpolated directly into inline JavaScript
onclickhandlers on the wallet detail page. - Bypass mechanism: Although RansomLook’s Jinja templating engine performs HTML autoescaping, browsers decode HTML entities before parsing an attribute’s contents as JavaScript. This ordering allows HTML-entity-encoded quote characters in a malicious address to break out of the intended JavaScript string literal and execute arbitrary script.
- Trigger conditions: An attacker plants a specially crafted cryptocurrency address (containing quote characters) into an upstream data source that RansomLook ingests. When a legitimate user views the affected wallet’s detail page and clicks the CSV export button, the injected JavaScript executes in the victim’s browser session.
- Attack vector: Network-based; no authentication or privileged access is required by the attacker to poison the upstream feed, and only a single click from a victim user is needed to trigger execution (client-side/stored XSS).
- Impact: Arbitrary JavaScript execution in the context of the victim’s browser session, which can lead to session hijacking, credential theft, or actions performed with the victim’s privileges within the application.
Affected software
- RansomLook (https://github.com/RansomLook/RansomLook) — versions 0 through 2.0.0, inclusive
Severity
- CVSS v4.0 Base Score: 8.8 (High)
- Vector:
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:H/SC:N/SI:N/SA:N
Mitigation and recommended actions
- Immediate: Upgrade RansomLook to the patched release that includes commit
7efb59253f23552538f9a11c9bf21e7bcfcc1319, which introduces allowlist-based validation of cryptocurrency addresses and blockchain names (is_valid_crypto_address()andis_valid_chain()), rejects records with invalid values during import, and replaces the inlineonclickhandler in the wallet detail template with safedata-*attributes read by an external JavaScript event listener. - If immediate patching is not possible:
- Restrict or monitor access to the wallet detail/CSV export pages until the fix is applied.
- Consider filtering or validating externally-sourced cryptocurrency address and blockchain data (e.g., from ransomwhe.re) at the ingestion layer to reject entries containing non-alphanumeric characters such as quotes.
- Apply a Content Security Policy (CSP) that disallows inline script execution to reduce the impact of injected
onclickhandlers.

