Sturdy contest - CertoraInc's results

The first protocol for interest-free borrowing and high yield lending.

General Information

Platform: Code4rena

Start Date: 13/05/2022

Pot Size: $30,000 USDC

Total HM: 8

Participants: 65

Period: 3 days

Judge: hickuphh3

Total Solo HM: 1

Id: 125

League: ETH

Sturdy

Findings Distribution

Researcher Performance

Rank: 64/65

Findings: 1

Award: $14.84

🌟 Selected for report: 0

🚀 Solo Findings: 0

Awards

14.8433 USDC - $14.84

Labels

bug
duplicate
3 (High Risk)

External Links

Lines of code

https://github.com/code-423n4/2022-05-sturdy/blob/78f51a7a74ebe8adfd055bdbaedfddc05632566f/smart-contracts/LidoVault.sol#L140

Vulnerability details

Impact

The protocol suppose to send ETH to the user, but in case of fail, nothing will check it.

Proof of Concept

the code is

140 (bool sent, bytes memory data) = address(_to).call{value: receivedETHAmount}(''); 141 return receivedETHAmount; 142 require(sent, Errors.VT_COLLATERAL_WITHDRAW_INVALID);

it means that if the call to _to will fail , and sent==false, won't be check of this because the function will return before.

I recommend to switch between lines 141 and 142. new code:

140 (bool sent, bytes memory data) = address(_to).call{value: receivedETHAmount}(''); 141 require(sent, Errors.VT_COLLATERAL_WITHDRAW_INVALID); 142 return receivedETHAmount;

#0 - sforman2000

2022-05-18T03:10:33Z

AuditHub

A portfolio for auditors, a security profile for protocols, a hub for web3 security.

Built bymalatrax © 2024

Auditors

Browse

Contests

Browse

Get in touch

ContactTwitter