callExternalContract()
uses low level call
which return true as their first return value if the account called is non-existent based on solidity docs.
https://github.com/Cyfrin/2024-11-one-world/blob/1e872c7ab393c380010a507398d4b4caca1ae32b/contracts/dao/MembershipFactory.sol#L176C1-L180C6
https://github.com/Cyfrin/2024-11-one-world/blob/1e872c7ab393c380010a507398d4b4caca1ae32b/contracts/dao/tokens/MembershipERC1155.sol#L218C1-L222C6
Invalid call would succeed, potentially losing funds.
Manual review.
Implement contract existance check inside callExternalContract()
.
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.