CVE-2026-78391: Stored Cross-Site Scripting via Untrusted Cryptocurrency Address Rendering in RansomLook

Published Aug 24, 2026
·
Updated

RansomLook contains a stored cross-site scripting (XSS) vulnerability in the cryptocurrency wallet detail view. Cryptocurrency addresses and blockchain names originating from external sources, including the public crowd-sourced ransomwhe.re feed, were stored without sufficient validation and later embedded directly into an inline JavaScript onclick handler.

Although Jinja HTML autoescaping was applied, it does not provide adequate protection when untrusted data is inserted into a JavaScript string inside an HTML attribute. HTML entities such as ' are decoded by the browser's HTML parser before the resulting attribute is interpreted as JavaScript. Consequently, a specially crafted cryptocurrency address containing quote characters and JavaScript syntax could escape the intended string literal and execute arbitrary JavaScript when a user clicked the affected wallet's CSV export button.

Because cryptocurrency information imported from an untrusted upstream could reach the vulnerable rendering path, exploitation may not require an authenticated RansomLook account if an attacker can introduce a malicious wallet record into a consumed external data source. Successful exploitation could allow attacker-controlled JavaScript to execute in the security context of the RansomLook web application, potentially exposing information accessible to the victim or performing actions with the victim's privileges.

The patch mitigates the issue by validating cryptocurrency addresses and blockchain identifiers before storage, restricting them to a safe character set, and replacing the inline JavaScript handler with data- attributes and an external event listener so wallet values are treated strictly as data rather than executable JavaScript.

Affected Software

1 affected component
Ransomlook

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Configuration

    Modify RansomLook so cryptocurrency addresses and blockchain identifiers originating from external sources are validated before being stored, restricting them to a safe character set to prevent HTML/JavaScript injection.

    RansomLook cryptocurrency address and blockchain identifier validation/storage = restricted to a safe character set before storage
  2. Configuration

    Update the wallet detail view rendering so the CSV export control uses data-* attributes plus a separate external event listener, ensuring wallet values are treated strictly as data rather than executable JavaScript.

    RansomLook wallet detail view CSV export onclick handler implementation = replace inline JavaScript onclick with data-* attributes and an external event listener

Event History

Aug 24, 2026
CVE Published
via MITRE·02:13 PM
Data Sourced
via MITRE·02:13 PM
DescriptionWeakness

Frequently Asked Questions

1

Who is exposed to this issue?

Users who view an affected cryptocurrency wallet detail page and click that wallet's CSV export button can be exposed. The malicious address or blockchain name may originate from an external source, including the crowd-sourced ransomwhe.re feed.

2

What does an attacker need to exploit it?

An attacker needs to get a crafted cryptocurrency address or blockchain name into an external data source that RansomLook consumes, so that it is stored and rendered in the wallet detail view. An authenticated RansomLook account may not be required if the attacker can introduce the malicious wallet record through such an upstream source.

3

Is exploitation triggered merely by viewing the wallet page?

No. The described execution occurs when a user clicks the affected wallet's CSV export button, where the untrusted value is used in an inline JavaScript onclick handler.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203