veToken Finance contest - GimelSec's results

Lock more veAsset permanently.

General Information

Platform: Code4rena

Start Date: 26/05/2022

Pot Size: $75,000 USDT

Total HM: 31

Participants: 71

Period: 7 days

Judge: GalloDaSballo

Total Solo HM: 18

Id: 126

League: ETH

veToken Finance

Findings Distribution

Researcher Performance

Rank: 56/71

Findings: 1

Award: $99.92

🌟 Selected for report: 0

🚀 Solo Findings: 0

Lines of code

https://github.com/code-423n4/2022-05-vetoken/blob/main/contracts/Booster.sol#L123-L127 https://github.com/code-423n4/2022-05-vetoken/blob/main/contracts/VoterProxy.sol#L62-L65 https://github.com/code-423n4/2022-05-vetoken/blob/main/contracts/VeAssetDepositor.sol#L53-L57

Vulnerability details

Impact

The setter functions don't verify the address should not be equal to address(0). The protocol will be frozen if setXXX to address(0).

Proof of Concept

There are some setOwner or setFeeManager in the protocol. If the owner is set to address(0) accidentally, the contract will be frozen.

Boosters * setOwner VeAssetDepositor.sol * setFeeManager VoterProxy.sol * setOwner

Tools Used

None

Check address parameters != address(0)

#0 - solvetony

2022-06-15T17:10:44Z

Duplicate of #247 (#74 for booster, this is for voterProxy)

#1 - GalloDaSballo

2022-07-25T00:34:04Z

I fail to see how the set of contracts would stop working when setting certain roles to address 0. You would still be able to withdraw and claim all rewards until that point.

Because of that I'm downgrading to QA

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