CVE-2025-65548CVE-2025-65548是NUT-14规范实现中的一个严重安全漏洞。该漏洞允许攻击者创建包含任意大preimage哈希的cashu token,但在token被消费时,nutshell(cashubtc/nuts)在0.18.0之前的版本不会验证preimage的大小。攻击者可以利用这个漏洞向mint(铸币厂)的数据库和磁盘填充任意数据,从而导致服务拒绝。由于无需认证即可利用此漏洞,且攻击成本极低,任何人都可以通过网络发起攻击。这对cashu协议的可用性和可靠性造成严重影响,可能导致整个mint服务瘫痪。
NUT-14规范允许cashu tokens包含一个preimage哈希(用于HTLC等场景),但规范并未明确限制preimage的大小。nutshell实现中,token的创建和消费流程如下:
1. Token创建:攻击者可以构造包含超大preimage(如数GB甚至更大的数据)的cashu token
2. Token消费:当该token被发送到mint进行消费时,mint会存储这个巨大的preimage
3. 漏洞触发:由于缺乏大小验证,mint会将整个preimage写入数据库和磁盘
4. 资源耗尽:重复此操作会导致数据库和磁盘空间迅速耗尽,最终导致mint服务崩溃
攻击者可以自动化这个过程,通过多次发送包含超大preimage的token来加速资源消耗。漏洞的根本原因在于缺少对输入数据大小的边界检查和限制。