CRITICAL🇬🇧 English

CVE-2021-39167

OpenZeppelin Contracts — privilege escalation w TimelockController

CVSS 10.0v3.1pub. 2021-08-27upd. 2024-11-21

Podatność w bibliotece OpenZeppelin Contracts umożliwia podmiotowi posiadającemu rolę executor eskalację uprawnień w komponencie TimelockController. Błąd otrzymał maksymalną ocenę CVSS 10.0, co czyni go krytycznym zagrożeniem dla projektów opartych na smart kontraktach.

Pokaż oryginał (EN)

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.

🤖 Analiza AI
Jak działa

Komponent TimelockController w bibliotece OpenZeppelin Contracts nieprawidłowo zarządza uprawnieniami (CWE-269). Aktor posiadający rolę executor może wykorzystać tę lukę do privilege escalation i uzyskania wyższych uprawnień niż te, które zostały mu przypisane. Szczegółowy mechanizm eksploitacji nie został ujawniony w momencie publikacji podatności.

Skutki

Atakujący z rolą executor może eskalować swoje uprawnienia w obrębie smart kontraktu, co w kontekście aplikacji blockchain może prowadzić do przejęcia pełnej kontroli nad kontraktem, a w konsekwencji do utraty środków lub manipulacji logiką biznesową.

Mitygacja

Należy zaktualizować bibliotekę OpenZeppelin Contracts do wersji 4.3.1 lub nowszej zgodnie z CHANGELOG producenta. Jako natychmiastowe obejście (workaround) należy odebrać rolę executor wszystkim kontom, które nie są ściśle kontrolowane przez zespół projektowy — producent zaleca odwołanie wszystkich executorów, którzy nie są jednocześnie proposerami. Przed zastosowaniem mitygacji należy upewnić się, że pozostaje co najmniej jeden aktywny proposer i executor.

Kogo dotyczy

OpenZeppelin Contracts — wersje wskazane w referencjach producenta (changelog wskazuje na wersję 4.3.1 jako zawierającą poprawkę)

Uwagi

Producent zastrzegł, że szczegóły techniczne podatności zostaną ujawnione w późniejszym terminie. Podatność dotyczy środowiska smart kontraktów (blockchain), gdzie nie jest możliwe cofnięcie transakcji — błędna konfiguracja uprawnień może mieć nieodwracalne skutki finansowe.

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
  • Openzeppelin Contracts

    APP
    Openzeppelin
    3.3.0 – 3.4.2 (bez)4.0.0 – 4.3.1 (bez)
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
Tagi
LPE
CWE
Referencje

Powiązane podatności

CVE-2021-41264CRITICAL9.8PL ✓ten sam produkt

OpenZeppelin Contracts — atak na niezainicjowane kontrakty UUPSUpgradeable

CVE-2021-39168CRITICAL10.0PL ✓ten sam produkt

OpenZeppelin TimelockController — privilege escalation przez rolę executor

CVE-2022-35961HIGH7.9ten sam produkt

OpenZeppelin Contracts is a library for secure smart contract development. The functions `ECDSA.recover` and `...

CVE-2022-31198HIGH7.5ten sam produkt

OpenZeppelin Contracts is a library for secure smart contract development. This issue concerns instances of Go...

CVE-2022-31172HIGH7.5ten sam produkt

OpenZeppelin Contracts is a library for smart contract development. Versions 4.1.0 until 4.7.1 are vulnerable ...