CVE-2025-65548

9.1 CRITICAL

📋 TL;DR

CVE-2025-65548 is a denial-of-service vulnerability in Cashu implementations that allows attackers to fill a mint's database and disk with arbitrary data by creating tokens with oversized preimages. This affects any system running vulnerable versions of cashubtc/nuts (nutshell) that accept Cashu tokens. The vulnerability enables resource exhaustion attacks against mints.

💻 Affected Systems

Products:
  • cashubtc/nuts (nutshell)
Versions: All versions before 0.18.0
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Affects any deployment using Cashu tokens with NUT-14 functionality enabled.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete denial of service as the mint's database and disk become filled with attacker-controlled data, rendering the service unavailable and potentially causing data corruption.

🟠

Likely Case

Degraded performance and eventual service unavailability as disk space is consumed by malicious preimage data.

🟢

If Mitigated

Minimal impact if proper input validation is implemented to restrict preimage size.

🌐 Internet-Facing: HIGH - Mints accepting tokens from external users are directly exposed to this attack.
🏢 Internal Only: MEDIUM - Internal-only mints are still vulnerable to attacks from authorized users.

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: LIKELY
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Exploitation requires creating Cashu tokens with oversized preimages, which is straightforward given the public disclosure.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 0.18.0 and later

Vendor Advisory: https://github.com/cashubtc/nuts/blob/main/07.md

Restart Required: Yes

Instructions:

1. Update to nutshell version 0.18.0 or later. 2. Restart the mint service. 3. Verify the update was successful.

🔧 Temporary Workarounds

Rate limiting

all

Implement rate limiting on token creation endpoints to restrict the volume of malicious requests.

Input validation

all

Manually add preimage size validation before storing in database.

🧯 If You Can't Patch

  • Monitor disk usage and database growth for abnormal patterns
  • Implement network-level restrictions to limit token creation from untrusted sources

🔍 How to Verify

Check if Vulnerable:

Check if running nutshell version earlier than 0.18.0 and if NUT-14 functionality is enabled.

Check Version:

nutshell --version or check package manager

Verify Fix Applied:

Confirm version is 0.18.0 or later and test that oversized preimages are rejected.

📡 Detection & Monitoring

Log Indicators:

  • Unusually large preimage storage entries
  • Rapid database growth
  • Disk space alerts

Network Indicators:

  • High volume of token creation requests
  • Large payloads in token-related API calls

SIEM Query:

source="mint_logs" AND (message="preimage" AND size>threshold) OR disk_usage>90%

🔗 References

📤 Share & Export