The admin function is missing in the contract Bridge to transfer ownership on ERC721Bridgeable or change the implementation address on ERC721Bridgeable proxy.
When an ERC721Bridgeable is deployed on L1, the bridge will be the owner of this contract. But, there is no way for the bridge to call admin functions on ERC721Bridgeable, like transferOwnerShip.
In other words, on L2, the bridge is able to change such critical states on the erc721_bridgeable. But, on L1, this is missing.
This can lead to some issues:
If the implementation of ERC721Bridgeable proxy is going to be changed, its owner (which is the bridge) should call the function upgradeToAndCall on the ERC721Bridgeable proxy to update the implementation address. But, since the bridge does not have any function to be able to call upgradeToAndCall on the ERC721Bridgeable proxy, this will be impossible.
https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/proxy/utils/UUPSUpgradeable.sol#L86
If the address of the bridge on L1 is going to be changed for any reason (it is a proxy structure, but if a new proxy is going to be deployed), there is no possibility that the old bridge changes the address of the owner of ERC721Bridgeable through transferOwnerShip to the new bridge proxy. So, all the already deployed ERC721Bridgeable will remain still owned by the old bridge. Or if, for any other reasons, the owner of an L1-collection is to be changed, there is not any straight forward way to do so.
Please note that ERC721Bridgeable is out-of-scope of this contest, but the issue is in the contract bridge that does not have any function to call admin functions on ERC721Bridgeable.
Bridge which is the owner of ERC721Bridgeable can not change ownership of ERC721Bridgeable or upgrade its implementation.
The following functions should be added to the Bridge.
Likelyhood/Impact: High, it will never (until an upgrade) be able to update or transfer the ownership of any collections created on L1.
Likelyhood/Impact: High, it will never (until an upgrade) be able to update or transfer the ownership of any collections created on L1.
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.