Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Slow Ocean Seahorse - CREATE opcode works differently in the zkSync chain #77

Open
sherlock-admin2 opened this issue Dec 22, 2024 · 0 comments
Labels
Won't Fix The sponsor confirmed this issue will not be fixed

Comments

@sherlock-admin2
Copy link

Slow Ocean Seahorse

Medium

CREATE opcode works differently in the zkSync chain

Summary

zkSync mainnet chain has differences in the usage of the create opcode compared to the EVM.

According to the mentioned details, the protocol can be deployed in zkSync mainnet.

Ethereum, Arbitrum, Rari Chain, zkSync Mainnet, Base, Polygon, OP Mainnet.

Vulnerability Detail

The zkSync Era docs explain how it differs from Ethereum.

Check the description of CREATE (zkSynce Era Docs) and it is also stated that Create cannot be used for arbitrary code unknown to the compiler.

Impact

zkSync uses a different compilation and deployment process than Ethereum.
Deployment might fail.

Code Snippet

https://github.com/sherlock-audit/2024-11-tally/blob/main/staker/src/extensions/GovernanceStakerDelegateSurrogateVotes.sol#L45

Tool used

Manual Review

Recommendation

use create2 instead.

@sherlock-admin3 sherlock-admin3 added the Won't Fix The sponsor confirmed this issue will not be fixed label Jan 8, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Won't Fix The sponsor confirmed this issue will not be fixed
Projects
None yet
Development

No branches or pull requests

2 participants