平台
nodejs
组件
@openzeppelin/contracts-upgradeable
修复版本
4.0.1
3.3.1
3.3.1
4.3.1
CVE-2021-39168 是一个严重的安全漏洞,影响 @openzeppelin/contracts-upgradeable 库。该漏洞允许具有执行者角色的攻击者立即控制时锁机制,通过将延迟重置为 0 并提升权限,从而获得对合约中资产的无限制访问。受影响的版本包括 4.3.1 之前的版本。建议立即升级到 4.3.1 或更高版本以修复此漏洞。
该漏洞的影响极其严重,因为它允许攻击者完全控制受影响的智能合约。攻击者可以利用执行者角色立即绕过预定的延迟,从而可以立即执行任何操作,包括转移合约中的所有资金。如果执行者角色被设置为“开放”,则任何人都可能使用该角色,从而使时锁面临被攻击者的接管风险。这种控制权可能导致严重的财务损失和对智能合约系统的破坏。攻击者可以利用此漏洞窃取资金、篡改数据或完全控制合约的功能。
该漏洞已公开披露,并且由于其严重性,可能成为攻击者的目标。目前尚无已知的公开利用程序,但由于漏洞的严重性,建议尽快采取缓解措施。该漏洞已添加到 CISA KEV 目录中,表明其具有较高的风险。建议密切关注安全社区的更新,以获取有关此漏洞的更多信息。
Decentralized applications (dApps) and smart contracts relying on @openzeppelin/contracts-upgradeable for timelock functionality are at significant risk. Projects with open executor roles on their timelocks are particularly vulnerable, as anyone can assume the role and exploit the vulnerability. Developers using older versions of the library without proper access controls are also at risk.
• nodejs / smart contracts:
# Check for vulnerable versions in package.json
grep '@openzeppelin/contracts-upgradeable:"[^"]*"' package.json• nodejs / smart contracts:
# Audit dependencies using npm audit
npm audit• nodejs / smart contracts:
# Check for specific timelock contract code patterns
grep -r "TimelockController.sol" . | grep -i "delay() = 0"disclosure
漏洞利用状态
EPSS
0.44% (63% 百分位)
CVSS 向量
修复此漏洞的关键是升级到包含修复程序的最新版本。建议立即升级到 @openzeppelin/contracts 和 @openzeppelin/contracts-upgradeable 的 4.3.1 版本。如果无法立即升级,可以考虑临时缓解措施,例如限制执行者角色的访问权限,或者实施额外的安全检查以防止未经授权的交易。在升级后,请务必验证合约是否正常运行,并确认漏洞已成功修复。可以通过检查时锁的延迟设置和执行者角色的权限来验证。
撤销不严格由团队控制的帐户的执行者角色。建议撤销所有非提案者的执行者。在应用此缓解措施时,请确保至少保留一个提案者和一个执行者。
漏洞分析和关键警报直接发送到您的邮箱。
CVE-2021-39168 是一个严重的安全漏洞,影响 @openzeppelin/contracts-upgradeable 库,允许攻击者控制时锁机制,从而获得对合约中资产的无限制访问。
如果您正在使用 @openzeppelin/contracts-upgradeable 的 4.3.1 之前的版本,则可能受到此漏洞的影响。
建议立即升级到 @openzeppelin/contracts 和 @openzeppelin/contracts-upgradeable 的 4.3.1 或更高版本。
目前尚无已知的公开利用程序,但由于漏洞的严重性,建议尽快采取缓解措施。
请访问 OpenZeppelin 的官方网站或 GitHub 仓库,查找有关此漏洞的详细信息和安全公告。