
最近我测试了 @SushiSwap SushiSwap V3 Factory 在 Stellar 主网的合约,发现了个比较要紧的漏洞。 这个漏洞对应 CVE-2026-26267,问题出在 soroban-sdk 23.0.0 到 23.5.1 版本的 #[contractimpl] 宏上。简单来说,合约里如果同时有带权限检查的 trait 方法,和一个同名的普通方法,系统生成的 WASM 会跑到那个没做权限检查的方法上,导致权限检查被绕过。 Sushi 的 Factory 合约地址是 CD3KRKGDRVWPXVB3VXLUMQKMX6XZ6Q2H334IVZD4XXNAMKSRVQL5GLYF,用的是 23.0.2 这个有问题的版本。 我用 Stellar 的 soroban-rpc 做模拟交易测试,随便拿个不是 owner 的地址去调管理员函数,结果 set_owner 换 owner、改协议费、冻结升级、甚至永久禁用升级这些操作,全都能模拟成功,没有出现未授权的错误。 攻击成本很低,大概只要 10 XLM 左右的交易费,就能直接把factory的所有权拿过来,然后想怎么操作就怎么操作。协议现在 TVL 大概 195 万美元,升级也没冻结,风险不小。 建议 Sushi 团队尽快用 23.5.2 及以上版本重新编译部署,同时让当前 owner 先把升级冻结上(set_upgrade_frozen(true)),避免出问题。 这个漏洞用模拟交易就能提前发现,希望相关团队快点处理,也提醒大家在 Stellar 上部署合约的时候,注意 SDK 版本更新。 合约在 Sushi 官方文档里有记录,有兴趣的可以自己去查 #Stellar #Soroban #SushiSwap
Post summary
The author discloses a privilege‑bypass flaw in SushiSwap’s Factory contract on Stellar caused by a soroban‑sdk macro bug, allowing non‑owners to execute admin functions; they advise upgrading to 23.5.2+ and freezing upgrades.

