Loading HuntDB...

CVE-2021-39167

CRITICAL
Published 2021-08-26T23:35:16
Actions:

Expert Analysis

Professional remediation guidance

Get tailored security recommendations from our analyst team for CVE-2021-39167. We'll provide specific mitigation strategies based on your environment and risk profile.

CVSS Score

V3.1
10.0
/10
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
Base Score Metrics
Exploitability: N/A Impact: N/A

EPSS Score

v2025.03.14
0.004
probability
of exploitation in the wild

There is a 0.4% chance that this vulnerability will be exploited in the wild within the next 30 days.

Updated: 2025-06-25
Exploit Probability
Percentile: 0.623
Higher than 62.3% of all CVEs

Attack Vector Metrics

Attack Vector
NETWORK
Attack Complexity
LOW
Privileges Required
NONE
User Interaction
NONE
Scope
CHANGED

Impact Metrics

Confidentiality
HIGH
Integrity
HIGH
Availability
HIGH

Description

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.

Available Exploits

No exploits available for this CVE.

Related News

No news articles found for this CVE.

Affected Products

GitHub Security Advisories

Community-driven vulnerability intelligence from GitHub

✓ GitHub Reviewed CRITICAL

TimelockController vulnerability in OpenZeppelin Contracts

GHSA-fg47-3c2x-m2wr

Advisory Details

### Impact A vulnerability in `TimelockController` allowed an actor with the executor role to take immediate control of the timelock, by resetting the delay to 0 and escalating privileges, thus gaining unrestricted access to assets held in the contract. Instances with the executor role set to "open" allow anyone to use the executor role, thus leaving the timelock at risk of being taken over by an attacker. ### Patches A fix is included in the following releases of `@openzeppelin/contracts` and `@openzeppelin/contracts-upgradeable`: - 4.3.1 - 3.4.2 - 3.4.2-solc-0.7 Deployed instances of `TimelockController` should be replaced with a fixed version by migrating all assets, ownership, and roles. ### Workarounds 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. ### References [Post-mortem](https://forum.openzeppelin.com/t/timelockcontroller-vulnerability-postmortem/14958). ### Credits The issue was identified by an anonymous white hat hacker through [Immunefi](https://immunefi.com/). ### For more information If you have any questions or comments about this advisory, or need assistance executing the mitigation, email us at [email protected].

Affected Packages

npm @openzeppelin/contracts
ECOSYSTEM: ≥4.0.0 <4.3.1
npm @openzeppelin/contracts
ECOSYSTEM: ≥3.3.0 <3.4.2

CVSS Scoring

CVSS Score

9.0

CVSS Vector

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H

Advisory provided by GitHub Security Advisory Database. Published: August 30, 2021, Modified: September 13, 2021

References

Published: 2021-08-26T23:35:16
Last Modified: 2024-08-04T01:58:18.229Z
Copied to clipboard!