Open Intents Framework 审计发现中等严重性求解器标识符不匹配问题
OpenZeppelin 对 Open Intents Framework (OIF) 合约在提交 222989b 与 5323b1b 之间进行了差异审计,发现 6 个问题(1 个中等、4 个低、1 个信息性)。中等严重性问题涉及求解器标识符编码不匹配:`purchasedOrders` 映射使用完整的 `bytes32` 求解器标识符,而签名验证丢弃了高 96 位,允许恶意求解器以不同编码重用签名,窃取买家的折扣付款。其他修复包括 Hyperlane 预言机链 ID 映射、Permit2 见证类型更新、InputSettlerCompact 订单状态跟踪、输出预言机清理检查以及 FillerDataLib 长度验证。所有问题已在提交 b260675 中解决。
关键事实
- 中等严重性:求解器标识符不匹配,允许不同 bytes32 编码重用签名。
- HyperlaneOracleMapped 添加规范链 ID 映射,用于跨链证明。
- Permit2 见证现在绑定 order.user 以防止签名重用。
- InputSettlerCompact 添加 OrderStatus 以防止重放索赔。
- 所有 6 个问题已解决;代码更新至提交 b260675。