Decent - al88nsk'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: 86/113

Findings: 1

Award: $0.12

🌟 Selected for report: 0

🚀 Solo Findings: 0

Lines of code

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

Vulnerability details

Impact

Function setRouter in contract DcntEth has no access control and anyone can set router for the contract. After that the attacker can mint and burn any amount of DcntEth tokens for any address, because mint and burn functions are protected by onlyRouter modifier.

Proof of Concept

One of the possible attack scenarios:

  1. The attacker sets router that he controls
  2. The attacker mints DcntEth tokens for himself
  3. The attacker uses redeemWeth function from DecentEthRouter contract that transfers DcntEth tokens to the contract and then transfers WETH to the attacker (or the attacker can call redeemEth)

This way the attacker can withdraw all WETH from DecentEthRouter.

Tools Used

Manual review

Add modifier onlyOwner to setRouter function.

Assessed type

Access Control

#0 - c4-pre-sort

2024-01-24T06:19:22Z

raymondfam marked the issue as sufficient quality report

#1 - c4-pre-sort

2024-01-24T06:19:27Z

raymondfam marked the issue as duplicate of #14

#2 - c4-judge

2024-02-03T13:24:13Z

alex-ppg marked the issue as satisfactory

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