Cosmos Labs近日承认,其在Cosmos EVM共享框架的漏洞评估中出现严重失误,错误地判定一项关键漏洞不会威胁用户资金,最终导致该漏洞在8月20日至25日期间被利用,攻击者从六条区块链网络中窃取约570万美元资产。这一结论来自Cosmos Labs周五发布的技术事后分析报告。
漏洞如何被利用
该漏洞是一个整数下溢错误,攻击者可借此诱使Cosmos EVM网络向钱包授予近乎无限的代币余额。攻击者通过设置一个锁定代币账户,并向验证人委托超过账户可支出金额的数量,使余额减至负数,发生下溢至2^256-1(一个78位数字)。随后攻击者逆转计算,将膨胀后的余额发送至目标账户,引发溢出并将余额回卷至正常值。这将目标账户的代币转移到攻击者手中,而目标账户余额归零。整个过程中并未铸造新代币,代币总供应量保持不变。
错误评估与修复时间线
Cosmos Labs披露,一名研究人员于4月25日通过Cosmos漏洞赏金计划提交了该漏洞报告。但测试人员无法在实网配置(包括所有已知生产网络)上复现该攻击。基于此评估,Cosmos Labs采用“静默公开补丁”流程而非“私有补丁分发”流程处理漏洞。后者通常用于被认为威胁用户资金的情况。报告称,Cosmos Labs在5月合并了修复补丁,但未告知链运营方具体修复内容。过去13个月中,该公司以这种方式修补了37个漏洞。
然而,8月初独立研究人员确认该漏洞影响所有Cosmos EVM链。Cosmos Labs随后隐藏修复细节,并于美东时间8月19日晚7点01分发布补丁,发布说明仅提及“重要”安全修复而未说明细节。首次攻击发生在美东时间8月20日下午3点06分,距补丁发布约20小时。
MANTRA在事后分析中表示:“20小时对于评估、构建、测试并协调38个独立验证人进行状态升级而言并不现实,尤其是在没有漏洞专项公告的情况下。”此外,美东时间8月20日凌晨3点16分,在首次攻击发生前约12小时,Push Chain一名开发者公开提交了一份代码变更,描述了该漏洞及其利用路径,并将发现归功于Hacken审计,同时列出了受影响版本。Cosmos Labs称此举“极不寻常”,可能增加被利用风险。
各链损失详情
MANTRA:损失7.209亿枚MANTRA代币,价值约360万美元,从链上销毁地址和一个休眠的多签钱包中被提取。MANTRA表示,由于“销毁地址被视为不可变动,监控系统未覆盖从该地址转出的交易”,首笔交易未触发自动警报,攻击持续近四小时未被发现。链于美东时间8月20日晚7点13分停止,30多小时后在修补的软件上恢复,并冻结了攻击者钱包中约3800万枚MANTRA。
TAC:8月22日从其质押池中损失近30亿枚TAC,其中约12亿枚代币在BNB Chain上售出,价值约95万美元。
KiiChain:同日晚间损失约1.48亿枚KII,其中6460万枚以约160万美元价格售出。Cosmos Labs表示,如果网络恢复,约54%的KII仍可在链上追回。
Nesa(疑似):交易所Bitvavo于8月24日以“严重共识漏洞”为由暂停了NES充提。区块链分析公司Bubblemaps确认Nesa受影响。攻击者购买约25万美元的NES,跨链后将其余额膨胀200倍,并将5000万美元等值NES移回以太坊,但极端滑点导致最终仅获利6万美元。Bubblemaps指出,Nesa攻击的资助和操作方式与先前攻击不同,可能由独立方实施。
另有两条链遭到攻击,但尚未公开确认身份。
事后分析与批评
KiiChain在8月23日的事后分析中批评Cosmos未提前通知受影响链暂停。“Cosmos Labs未向下游链发出任何提前通知,未将发布标记为安全关键,也未告知受影响链已发生公开发布,直到周五(8月21日)两天后才通知。”KiiChain报告称。Cosmos Labs直到MANTRA、TAC和KiiChain相继遭攻击后才于8月22日建议暂停。“补丁需要数天时间审查、构建、测试并在验证人集合中推出,而暂停只需几分钟。”KiiChain写道。
MANTRA的事后分析则持不同观点,称下溢修复“是关闭该攻击路径的控制措施”,并已用可复现的攻击样本进行验证。KiiChain还声称第三个上游缺陷仍未修补,但Cosmos Labs的报告未提及这一点。
Cosmos Labs表示,在响应过程中与40条链进行了协调,并与其他13条链合作在受到攻击前完成修补或暂停。该公司披露,其没有完整的Cosmos生态中超过115条公共区块链的注册表,并在响应期间发现了11个此前未登记的Cosmos EVM部署。
MANTRA周六交易价格约为0.0043美元,年初至今下跌约70%。该公司在2025年其代币崩溃后进行重组并裁员,现正被Inveniam Capital Partners收购。据MANTRA称,截至8月28日,尚无任何代币被追回。
