UUPSUpgradeable Vulnerability Post-mortem

Hi @spalladino

Thanks for describing this and Raymond as well for finding it.

Quick question.

You mention this:

Given an UUPS implementation contract, an attacker can initialize it and appoint themselves as upgrade administrators

Yes, anyone can call initialize, but how can they appoint themselves as upgrade administrators ? probably, _authorizeUpgrade will have a check who can update and who can't and if this decision doesn't come into play in the initialize function, then they won't be able to call it. Does that make sense ?

Thanks a lot.