Critical · published August 26, 2021
🔥 A sneaky privilege escalation flaw in OpenZeppelin’s TimelockController can turn an executor into a superuser—yikes! Imagine a hotel manager giving one of the staff a master key to every room, allowing them to access anything and everything without approval. If that staff member isn’t trustworthy, chaos could ensue! An attacker with the executor role could exploit this vulnerability to elevate their privileges, potentially taking control of critical functionalities within smart contracts. The implications are absolutely devastating: they could manipulate contracts, execute unauthorized actions, or siphon funds!
Imagine a hotel manager giving one of the staff a master key to every room, allowing them to access anything and everything without approval. If that staff member isn’t trustworthy, chaos could ensue! In affected versions of OpenZeppelin, the TimelockController lacked proper checks, allowing an actor with the executor role to escalate their privileges and bypass intended restrictions.
An attacker with the executor role could exploit this vulnerability to elevate their privileges, potentially taking control of critical functionalities within smart contracts. The implications are absolutely devastating: they could manipulate contracts, execute unauthorized actions, or siphon funds! To mitigate this issue, revoke the executor role from any accounts that aren't strictly controlled by your team. Be sure to keep at least one proposer and executor after making changes to avoid disrupting operations. Check for updates from OpenZeppelin for additional guidance! You can tackle this! Follow these steps, and you’ll have your smart contracts secured in no time. 🛡️