Closed sherlock-admin2 closed 10 months ago
1 comment(s) were left on this issue during the judging contest.
auditsea commented:
Makes no sense, seems AI generated, same reporter as #186
1 comment(s) were left on this issue during the judging contest.
auditsea commented:
Makes no sense, seems AI generated, same reporter as #186
Invalid, insufficient proof of how curve pool can be manipulated. Additionally, setPool
is an admin gated function.
bareli
medium
Centralization Risk:
Summary
Centralization Risk: The oracle relies on a single Curve MetaPool, which could be a central point of failure or manipulation.
Vulnerability Detail
function setPool(address _pool, address _curve3CRVToken1) internal { require( IMetaPool(_pool).coins(0) == LibAppStorage.appStorage().dollarTokenAddress, "TWAPOracle: FIRST_COIN_NOT_DOLLAR" ); TWAPOracleStorage storage ts = twapOracleStorage();
Impact
The oracle relies on a single Curve MetaPool, which could be a central point of failure or manipulation.
Code Snippet
https://github.com/sherlock-audit/2023-12-ubiquity/blob/main/ubiquity-dollar/packages/contracts/src/dollar/libraries/LibTWAPOracle.sol#L31
Tool used
Manual Review
Recommendation