QA Report #5
Labels
bug
Something isn't working
QA (Quality Assurance)
Assets are not at risk. State handling, function incorrect as to spec, issues with clarity, syntax
resolved
Finding has been patched by sponsor (sponsor pls link to PR containing fix)
sponsor confirmed
Sponsor agrees this is a problem and intends to fix it (OK to use w/ "disagree with severity")
Double Initialize on Diamond Init
Lines of code
https://github.com/code-423n4/2022-06-connext/blob/4dd6149748b635f95460d4c3924c7e3fb6716967/contracts/contracts/core/connext/facets/upgrade-initializers/DiamondInit.sol#L36
Vulnerability details
Impact
An attacker could Double Initialize the Diamond Init contract due to unsafe checks.
Proof of Concept
Tools Used
Remixd and Remix
Root Cause
There is no Standard Initializer modifier on init function. It seems the contract sets the
s.initalized = true
but this cannot be a valid check because I was able to call it multiple times on testing.Recommended Mitigation Steps
Use Initializer modifier on Openzepplin library.
The text was updated successfully, but these errors were encountered: