★ Bridge ecrecover checks result ≠ address(0)
Compound V3 (Comet)'s assessment for RD-F-151 — scored green on the v1.7.0 rubric. The evidence below is the curator's reasoning for this score.
Evidence summary #
[★ CRITICAL — GREEN] Compound BridgeReceiver contracts do NOT use ecrecover. Message authentication delegates to canonical L2 bridges. BaseBridgeReceiver only checks rootMessageSender == govTimelock. OZ audit found 0 critical/high issues and no ecrecover in bridge path.
Detail #
The Wormhole-class ecrecover bug applies to bridges that perform custom cryptographic signature verification using ecrecover without checking the return value against address(0). Compound's architecture delegates ALL message authentication to canonical L2 bridges (Arbitrum Inbox, OP CrossDomainMessenger, Polygon fx-portal). BridgeReceiver only verifies the message sender identity as authenticated by the canonical bridge. No ecrecover call exists in Compound's bridge contracts. OpenZeppelin's audit of the Polygon Bridge Receiver found 0 critical and 0 high severity issues.
Sources #
- GitHubCompound BaseBridgeReceiver — message validationBaseBridgeReceiver.sol — rootMessageSender checkretrieved 2026-04-27
- OpenZeppelin Bridge Receiver AuditOpenZeppelin Compound Polygon Bridge Receiver Audit — 0 critical/high findingsretrieved 2026-04-27
Methodology #
Determine whether the bridge verifier code rejects `ecrecover` returns of `address(0)`.
See the full factor methodology and distribution across all protocols →