zkSync Era - twcctop's results

Future-proof zkEVM on the mission to scale freedom for all.

General Information

Platform: Code4rena

Start Date: 02/10/2023

Pot Size: $1,100,000 USDC

Total HM: 28

Participants: 64

Period: 21 days

Judge: GalloDaSballo

Total Solo HM: 13

Id: 292

League: ETH

zkSync

Findings Distribution

Researcher Performance

Rank: 25/64

Findings: 1

Award: $3,293.31

🌟 Selected for report: 0

🚀 Solo Findings: 0

Findings Information

🌟 Selected for report: erebus

Also found by: AkshaySrivastav, Audittens, HE1M, dontonka, twcctop

Labels

bug
2 (Med Risk)
low quality report
satisfactory
duplicate-260

Awards

3293.3126 USDC - $3,293.31

External Links

Lines of code

https://github.com/code-423n4/2023-10-zksync/blob/70b820d66fa4d30737e905a7fc807dc6b6c95b3b/code/contracts/ethereum/contracts/governance/Governance.sol#L256-L259

Vulnerability details

Impact

Malicious securityCouncil may dos updateSecurityCouncil .New security council is not able to be set,because old security council can always cancel the operation.

Proof of Concept

 function updateSecurityCouncil(address _newSecurityCouncil) external onlySelf {
        emit ChangeSecurityCouncil(securityCouncil, _newSecurityCouncil);
        securityCouncil = _newSecurityCouncil;
    }

In function updateSecurityCouncil , the modifier is onlySelf. It means that this function can only be called by execute function. A new operation is needed to scheduled.The issue is if a old SecurityCouncil notice that he is going to be replaced, he can cancel the operation immediately. So the securitycouncil will never change if he want. Make the council change logic useless.

 function cancel(bytes32 _id) external onlyOwnerOrSecurityCouncil {
        require(isOperationPending(_id), "Operation must be pending");
        delete timestamps[_id];
        emit OperationCancelled(_id);
    }

Tools Used

manual

Consider limit the old security council authority in updateSecurityCouncil

Assessed type

Access Control

#0 - c4-pre-sort

2023-10-31T07:01:18Z

bytes032 marked the issue as low quality report

#1 - miladpiri

2023-11-08T16:10:12Z

Duplicate.

#2 - c4-judge

2023-11-26T19:21:18Z

GalloDaSballo marked the issue as duplicate of #260

#3 - c4-judge

2023-11-28T15:52:56Z

GalloDaSballo 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