Decent - 0xE1's results

Decent enables one-click transactions using any token across chains.

General Information

Platform: Code4rena

Start Date: 19/01/2024

Pot Size: $36,500 USDC

Total HM: 9

Participants: 113

Period: 3 days

Judge: 0xsomeone

Id: 322

League: ETH

Decent

Findings Distribution

Researcher Performance

Rank: 97/113

Findings: 1

Award: $0.09

🌟 Selected for report: 0

🚀 Solo Findings: 0

Lines of code

https://github.com/decentxyz/decent-bridge/blob/7f90fd4489551b69c20d11eeecb17a3f564afb18/src/DcntEth.sol#L8-L22

Vulnerability details

Impact

Everyone can set itself as router, because the function is marked as public, hence avoid the check of the modifier and call all functions with the onlyRouter modifier .

Proof of Concept

All of the functions inside DcntEth should be controlled only by the router as defined on line 8 where we check using modifier, if the msg.sender == router. However setting the router is a public function, hence everyone can change it and become a router and mint, burn from the contract.

Tools Used

Manual review

Restrict the visibility of setRouter

Assessed type

Access Control

#0 - c4-pre-sort

2024-01-25T01:52:18Z

raymondfam marked the issue as sufficient quality report

#1 - c4-pre-sort

2024-01-25T01:52:24Z

raymondfam marked the issue as duplicate of #14

#2 - alex-ppg

2024-02-03T13:11:09Z

The recommended course of action is incorrect as the router should be configurable somehow.

#3 - c4-judge

2024-02-03T13:11:13Z

alex-ppg marked the issue as partial-75

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