CVE-2021-39167: TimelockController vulnerability in OpenZeppelin Contracts
OpenZepplin is a library for smart contract development. In affected versions a vulnerability in TimelockController allowed an actor with the executor role to escalate privileges. Further details about the vulnerability will be disclosed at a later date. As a workaround revoke the executor role from accounts not strictly under the team's control. We recommend revoking all executors that are not also proposers. When applying this mitigation, ensure there is at least one proposer and executor remaining.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Configuration
As a workaround, revoke the TimelockController executor role from accounts that are not strictly under your team's control. Ensure that, after revocation, there is at least one proposer and one executor remaining, and that any remaining executor is also a proposer.
OpenZeppelin TimelockController executor role assignments = Revoke executor role from accounts not strictly under the team's control (revoking all executors that are not also proposers)
Event History
Frequently Asked Questions
What is CVE-2021-39167?
CVE-2021-39167 is a vulnerability in OpenZepplin's TimelockController that allows an actor with the executor role to escalate privileges.
What software versions are affected by CVE-2021-39167?
Versions 3.3.0 up to, but not including, 3.4.2 and versions 4.0.0 up to, but not including, 4.3.1 of Openzeppelin Contracts are affected by CVE-2021-39167.
What is the severity of CVE-2021-39167?
CVE-2021-39167 has a severity rating of 9.8 (Critical).
How can I mitigate the vulnerability CVE-2021-39167?
To mitigate CVE-2021-39167, revoke the executor role from the affected actor as a temporary workaround.
Where can I find more information about CVE-2021-39167?
You can find more information about CVE-2021-39167 in OpenZeppelin's changelog, commit history, and security advisories.