Biconomy Hyphen 2.0 contest - JMukesh's results

Next-Gen Multichain Relayer Protocol.

General Information

Platform: Code4rena

Start Date: 10/03/2022

Pot Size: $75,000 USDT

Total HM: 25

Participants: 54

Period: 7 days

Judge: pauliax

Total Solo HM: 10

Id: 97

League: ETH

Biconomy

Findings Distribution

Researcher Performance

Rank: 27/54

Findings: 1

Award: $378.21

🌟 Selected for report: 0

πŸš€ Solo Findings: 0

Findings Information

🌟 Selected for report: WatchPug

Also found by: JMukesh, peritoflores, whilom

Labels

bug
duplicate
2 (Med Risk)
disagree with severity

Awards

378.2082 USDT - $378.21

External Links

Lines of code

https://github.com/code-423n4/2022-03-biconomy/blob/04751283f85c9fc94fb644ff2b489ec339cd9ffc/contracts/security/Pausable.sol#L59

Vulnerability details

Impact

changePauser() will not work once Pauser renounce its role . when Pauser will renounce its role Pauser will be updated to address(0) due to which changePauser() function will not work

Proof of Concept

function _changePauser(address newPauser) internal { require(newPauser != address(0)); emit PauserChanged(_pauser, newPauser); _pauser = newPauser; }

function renouncePauser() external virtual onlyPauser { emit PauserChanged(_pauser, address(0)); _pauser = address(0); }

onlyPauser modifiere check "msg.sender == _pauser" , which in this case will be "msg.sender == address(0)"

Tools Used

manual reveiw

add two step process to change Pauser that is having a pending_pauser and current_pauser

#0 - ankurdubey521

2022-03-30T10:08:13Z

While I agree this is an issue, I don't believe it's a protocol-breaking bug. I suggest a severity rating of 1 for this issue.

#1 - pauliax

2022-04-11T13:22:46Z

I think this belongs to #137

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