Niedrig

Inconsistent storage layout for ERC2771ContextUpgradeable

  • Veröffentlicht: 14.03.2022
  • Aktualisiert: 11.10.2026 10:22

Impact

The storage layout of the ERC2771ContextUpgradeable is not constant between versions.

  • versions 4.0.0, 4.1.0 and 4.2.0, the contract has a length of 51 slots.
  • since 4.3.0, the contract has a length of 50 slots
  • future versions will continue using 50 slots.

This difference in layout could result in breaking upgrades if someone upgrades from an affected version to a non-affected version. It is thus recommended to be extremely careful when upgrading from a contract that uses ERC2771ContextUpgradeable <4.3.0 to a newer version that uses >=4.3.0.

We've assessed the instances of this contract found on chain (with publicly verified source code) and notified the corresponding teams of the risk that an upgrade could cause.

Workarounds

Potentially breaking upgrades would be caught by the OpenZeppelin Upgrades Plugins for Hardhat and Truffle. It is recommended to use this tooling for all your upgrades.

If you need to upgrade to a newer version of the Upgradeable Contracts library, we recommend copying the previous implementation ERC2771ContextUpgradeable (available in the release-4.2 branch) and packaging it with your code.

Reference

https://github.com/OpenZeppelin/openzeppelin-transpiler/pull/86

For more information

If you have any questions, comments, or need assistance regarding this advisory, email us at security@openzeppelin.com.

To submit security reports please use our bug bounty on Immunefi.

Betroffene Software

Klicken Sie auf eine Technologie, um alle zugehörigen Schwachstellen anzuzeigen.

PlattformPaketAnfällige VersionenBehoben in
npm-Paket @openzeppelin/contracts-upgradeable >= 4.0.0, < 4.3.0 4.3.0

Verweise

CVSS-Wert -
Schwäche (CWE)
-
Plattform
npm
Paket
@openzeppelin/contracts-upgradeable
Veröffentlicht
14.03.2022
Aktualisiert
11.10.2026 10:22

Quellen und Lizenzen

OSV / GitHub Advisory Database - GHSA-7j52-6fjp-58gr - CC BY 4.0

Schwachstellenhistorie: @openzeppelin/contracts-upgradeable

Alle veröffentlichten Schwachstellen dieses Pakets (npm-Paket), neueste zuerst. Zeigt, ob es ein einmaliger Ausrutscher ist oder ein Paket, das man im Auge behalten muss.

Alle (22) im Archiv
Einträge insgesamt
22
Erste → letzte
08.2021 07.2025
Ohne Fix
0
In Angriffen ausgenutzt
0

Verteilung nach Schweregrad

  • Kritisch 3
  • Hoch 5
  • Mittel 12
  • Niedrig 2

Veröffentlichungen pro Jahr

  1. 2021: 5
  2. 2022: 8
  3. 2023: 7
  4. 2024: 1
  5. 2025: 1
  6. 2026: 0
Schweregrad:
  1. Hoch · 8.8 CVE-2023-30542 >= 4.3.0, < 4.8.3 4.8.3
  2. Hoch · 7.9 CVE-2022-35961 >= 4.1.0, < 4.7.3 4.7.3
  3. Hoch · 7.5 CVE-2022-31170 >= 4.0.0, < 4.7.1 4.7.1
  4. Inconsistent storage layout for ERC2771ContextUpgradeable dieser Eintrag
    Niedrig ghsa-7j52-6fjp-58gr >= 4.0.0, < 4.3.0 4.3.0
  5. Kritisch · 9.8 CVE-2021-41264 >= 4.1.0, < 4.3.2 4.3.2
  6. Kritisch ghsa-q4h9-46xg-m3x9 >= 4.1.0, < 4.3.2 4.3.2
  7. Kritisch · 10.0 CVE-2021-39168 >= 4.0.0, < 4.3.1, >= 3.3.0, < 3.4.2 4.3.1, 3.4.2

Erkennen Sie Schwachstellen in Ihrer Anwendung

Mit der DockRay-Integration und aktivierter Softwareinventarisierung prüft DockRay gemeldete Komponentenversionen auf bekannte Schwachstellen und benachrichtigt Sie über bestätigte Treffer. Die Abdeckung hängt von der unterstützten Technologie und den verfügbaren Meldungen ab.

Anwendung verbinden
DockRay Newsletter

Anwendungssicherheit in Ihrem Postfach

Wichtige Schwachstellen, konkrete Empfehlungen und praktische Tipps für Ihre Anwendungen. Wählen Sie Ihre Technologien und verfolgen Sie, was für Ihr Projekt relevant ist.

  • Eine tägliche Zusammenfassung neuer Schwachstellen, auch kritischer.
  • Benachrichtigungen über wichtige Updates.
  • Praktische Tipps zur Sicherheit und Überwachung von Anwendungen.

Leer lassen, um Meldungen zu allen Technologien zu erhalten.

Kostenlos anmelden. In jeder E-Mail mit einem Klick abmelden.