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
Rank: 97/113
Findings: 1
Award: $0.09
🌟 Selected for report: 0
🚀 Solo Findings: 0
🌟 Selected for report: NPCsCorp
Also found by: 0x11singh99, 0xAadi, 0xBugSlayer, 0xE1, 0xPluto, 0xSimeon, 0xSmartContract, 0xabhay, 0xdice91, 0xprinc, Aamir, Aymen0909, CDSecurity, DadeKuma, DarkTower, EV_om, Eeyore, GeekyLumberjack, GhK3Ndf, Giorgio, Greed, Inference, JanuaryPersimmon2024, Kaysoft, Krace, Matue, MrPotatoMagic, NentoR, Nikki, PUSH0, Soliditors, Tendency, Tigerfrake, Timeless, Timenov, ZanyBonzy, ZdravkoHr, abiih, adeolu, al88nsk, azanux, bareli, boredpukar, cu5t0mpeo, d4r3d3v1l, darksnow, deth, dutra, ether_sky, haxatron, ke1caM, kodyvim, m4ttm, mgf15, mrudenko, nmirchev8, nobody2018, nuthan2x, peanuts, piyushshukla, ravikiranweb3, rouhsamad, seraviz, simplor, slylandro_star, stealth, th13vn, vnavascues, wangxx2026, zaevlad
0.0879 USDC - $0.09
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 .
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.
Manual review
Restrict the visibility of setRouter
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