Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Chainlink oracle query in _validateOrder does not check that response is fresh #70

Closed
code423n4 opened this issue Jan 29, 2022 · 2 comments
Labels
2 (Med Risk) Assets not at direct risk, but function/availability of the protocol could be impacted or leak value bug Something isn't working duplicate This issue or pull request already exists

Comments

@code423n4
Copy link
Contributor

Handle

TomFrenchBlockchain

Vulnerability details

Impact

Potential for TreasuryManager to use a stale price to calculate the slippage limit, allowing unacceptable slippage relative to if the price feed was current.

Proof of Concept

EIP1271Wallet queries Chainlink for the most recent price for various assets, however it does not check that the response from Chainlink is fresh. If the Chainlink oracle is providing stale data then EIP1271Wallet may think the priceFloor should be lower than it is in reality and so be subject to a larger amount of slippage, leaking value.

Recommended Mitigation Steps

EIP1271Wallet should instead use the latestRoundData method and explicitly check that the data is fresh. See previous issue: code-423n4/2021-07-wildcredit-findings#75

@code423n4 code423n4 added 2 (Med Risk) Assets not at direct risk, but function/availability of the protocol could be impacted or leak value bug Something isn't working labels Jan 29, 2022
code423n4 added a commit that referenced this issue Jan 29, 2022
@jeffywu jeffywu added the duplicate This issue or pull request already exists label Feb 6, 2022
@jeffywu
Copy link
Collaborator

jeffywu commented Feb 6, 2022

Duplicate #178

@pauliax
Copy link
Collaborator

pauliax commented Feb 12, 2022

A duplicate of #197

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
2 (Med Risk) Assets not at direct risk, but function/availability of the protocol could be impacted or leak value bug Something isn't working duplicate This issue or pull request already exists
Projects
None yet
Development

No branches or pull requests

4 participants