The UsdTokenSwapKeeper
contract forwards unvalidated price reports to marketMakingEngine.fulfillSwap()
, allowing potential injection of malicious price data.
File: UsdTokenSwapKeeper.sol
Lines: 121-128
The contract blindly trusts signedReport
without performing cryptographic validation of the report's authenticity. This violates Chainlink's recommended pattern where nodes should verify reports before processing.
Direct Losses: Malicious forwarders could manipulate swap prices
Protocol Insolvency: Systematic under/over-valuation of positions
Severity: High
Manual code review
Chainlink documentation cross-check
Implement signature verification:
Adopt Chainlink's validateReport
pattern
Add price staleness checks:
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.