CVE-2026-40583UltraDAG是一个基于Rust开发的轻量级DAG-BFT区块链项目。在0.1版本中发现了一个严重的安全缺陷,该漏洞源于交易处理逻辑中的设计错误。非委员会成员的攻击者可以利用此漏洞,提交一个经过签名的SmartOp::Vote交易。该交易能够顺利通过基础的签名验证、随机数检查以及余额校验,然而,系统在完成这些预检查后,会在执行具体的授权校验之前先进行状态变更。这意味着,即便攻击者没有投票权限,系统状态也会在授权失败前被篡改,从而破坏了区块链的完整性和可用性。
该漏洞属于典型的逻辑漏洞,具体表现为“先修改状态,后验证权限”的执行顺序错误。在UltraDAG 0.1版本中,当节点接收到SmartOp::Vote交易时,首先执行的是通用的交易验证逻辑,包括验证数字签名以确保交易由私钥持有者发出,检查Nonce以防止重放攻击,以及验证账户余额是否足够支付手续费。这些检查通过后,代码逻辑直接对区块链状态进行了修改(例如更新投票计数或状态机)。只有在状态变更发生后,系统才进一步检查交易发送者是否属于委员会成员。由于此时状态已经发生不可逆的变更(或者回滚机制不完善),攻击者虽然最终收到了授权失败的提示,但已经成功对系统状态造成了影响。这种逻辑缺陷使得任何拥有有效账户的攻击者都能绕过权限限制,对共识状态进行破坏。