Platform: Code4rena
Start Date: 09/12/2022
Pot Size: $90,500 USDC
Total HM: 35
Participants: 84
Period: 7 days
Judge: GalloDaSballo
Total Solo HM: 12
Id: 192
League: ETH
Rank: 73/84
Findings: 2
Award: $12.84
🌟 Selected for report: 0
🚀 Solo Findings: 0
🌟 Selected for report: 0xA5DF
Also found by: 0xA5DF, 0xNazgul, 0xSmartContract, 0xbepresent, 0xdeadbeef0x, 8olidity, Englave, Faith, HE1M, JohnnyTime, Madalad, Mukund, Ruhum, SmartSek, __141345__, aviggiano, carlitox477, cccz, chaduke, francoHacker, gz627, gzeon, hansfriese, hihen, imare, jadezti, kwhuo68, ladboy233, orion, peanuts, philogy, rbserver, wait, yjrwkk
1.1472 USDC - $1.15
The value of blockDelay is unbounded. With the widespread use of unchecked throughout the codebase this can cause unexpected behavior. For example, it might overflow here:
unchecked { Delay memory _delay = blockDelayPassed[_id]; if (_delay.actionType == _type) { blockDelayPassed[_id].delay = block.number + blockDelay; } else { if (block.number < _delay.delay) revert("0"); //Wait blockDelayPassed[_id].delay = block.number + blockDelay; blockDelayPassed[_id].actionType = _type; } }
and cause the delay not working as expected.
function setBlockDelay( uint _blockDelay ) external onlyOwner { blockDelay = _blockDelay; }
Bound the max number of block delay, or remove the unchecked.
#0 - TriHaz
2022-12-23T02:28:59Z
Same as #17, would label as duplicate.
#1 - c4-judge
2022-12-23T17:35:42Z
GalloDaSballo marked the issue as duplicate of #321
#2 - c4-judge
2023-01-19T19:51:46Z
GalloDaSballo marked the issue as duplicate of #377
#3 - c4-judge
2023-01-22T17:35:00Z
GalloDaSballo marked the issue as satisfactory
🌟 Selected for report: rbserver
Also found by: 0x52, 0xDecorativePineapple, 0xdeadbeef0x, 8olidity, Jeiwan, Rolezn, __141345__, bin2chen, eierina, fs0c, gzeon, joestakey, koxuan, kwhuo68, ladboy233, rvierdiiev, yixxas
11.6941 USDC - $11.69
Chainlink latestAnswer()
is deprecated. It might return stale data or incomplete round answer.
int256 assetChainlinkPriceInt = IPrice(_chainlinkFeed).latestAnswer();
Check for stale price and round completeness using latestRoundData()
#0 - c4-judge
2022-12-22T00:20:23Z
GalloDaSballo marked the issue as duplicate of #655
#1 - GalloDaSballo
2022-12-22T00:20:34Z
Barely made it as dup of #655 because of mentioning stale data not being validate
#2 - c4-judge
2023-01-22T17:31:08Z
GalloDaSballo marked the issue as satisfactory