Plataforma
nodejs
Componente
@openzeppelin/contracts
Corrigido em
4.0.1
3.3.1
3.3.1
4.3.1
A vulnerabilidade CVE-2021-39167 é uma falha de Execução Remota de Código (RCE) encontrada na biblioteca @openzeppelin/contracts. Essa falha permite que um ator com o papel de executor assuma o controle imediato do timelock, potencialmente escalando privilégios e obtendo acesso irrestrito aos ativos armazenados no contrato. A vulnerabilidade afeta versões anteriores a 4.3.1 e foi divulgada em 30 de agosto de 2021. A correção está disponível nas versões 4.3.1, 3.4.2 e 3.4.2-solc-0.7.
O impacto desta vulnerabilidade é severo, pois permite que um atacante obtenha controle total sobre o contrato inteligente. Um atacante com o papel de executor pode redefinir o atraso do timelock para zero, permitindo que execute transações imediatamente, ignorando as restrições de tempo normalmente impostas. Em casos onde o papel de executor está definido como 'aberto', qualquer pessoa pode assumir esse papel, tornando o contrato vulnerável a ataques. Isso pode resultar no roubo de fundos, manipulação de dados e comprometimento da funcionalidade do contrato, com um potencial impacto financeiro significativo para os usuários e proprietários do contrato.
Não há informações disponíveis sobre exploração ativa desta vulnerabilidade em campanhas direcionadas. A vulnerabilidade foi divulgada publicamente em 30 de agosto de 2021. Não foi adicionada ao KEV (Know Exploited Vulnerabilities) da CISA até o momento. A existência de um Proof of Concept (PoC) público pode aumentar o risco de exploração.
Decentralized applications (dApps) and DeFi protocols that utilize @openzeppelin/contracts for timelock functionality are at significant risk. Projects with improperly configured executor roles (set to 'open') are particularly vulnerable. Smart contract developers and auditors should prioritize patching and reviewing their code.
• nodejs / smart contracts:
npm audit @openzeppelin/contracts• nodejs / smart contracts:
grep -r "TimelockController" . --include="*.sol"• nodejs / smart contracts: Examine contract deployment code for instances where the executor role is set to 'open'. • nodejs / smart contracts: Review contract logs for any transactions that immediately execute timelock functions.
disclosure
patch
Status do Exploit
EPSS
0.44% (percentil 63%)
Vetor CVSS
A mitigação primária para CVE-2021-39167 é atualizar a biblioteca @openzeppelin/contracts para a versão 4.3.1 ou superior. Se a atualização imediata não for possível, considere implementar medidas de segurança adicionais, como restringir o acesso ao papel de executor a endereços confiáveis e monitorar de perto a atividade do contrato em busca de sinais de comprometimento. Em ambientes de desenvolvimento, evite definir o papel de executor como 'aberto'. Após a atualização, confirme a correção verificando se o atraso do timelock está sendo aplicado corretamente e se o acesso ao papel de executor está devidamente restrito.
Revogar o papel de executor de contas que não estejam estritamente sob o controle da equipe. Recomenda-se revogar todos os executores que não sejam também proponentes. Ao aplicar esta mitigação, certifique-se de que permaneça pelo menos um proponente e um executor.
Análise de vulnerabilidades e alertas críticos diretamente no seu e-mail.
CVE-2021-39167 is a critical vulnerability in @openzeppelin/contracts allowing an attacker to bypass timelock delays and gain control of contracts, potentially leading to asset theft.
You are affected if you are using @openzeppelin/contracts versions prior to 4.3.1 and your timelock contracts are vulnerable to unauthorized executor role manipulation.
Upgrade to @openzeppelin/contracts version 4.3.1 or later to patch the vulnerability. Review your contract configurations to ensure the executor role is not set to 'open'.
While no confirmed active exploitation campaigns are publicly known, the vulnerability's severity and ease of exploitation make it a high-risk target.
Refer to the official OpenZeppelin security advisory: https://blog.openzeppelin.com/security-advisory-timelock-vulnerabilities/
Envie seu arquivo de dependências e descubra na hora se esta e outras CVEs te atingem.