StartNewsEthereum News: Unbekannte Entität stört Pectra-Upgrade auf Sepolia – ETH-Entwickler reagieren darauf

Ethereum News: Unbekannte Entität stört Pectra-Upgrade auf Sepolia – ETH-Entwickler reagieren darauf

- Advertisement -
  • Beim Pectra-Upgrade im Sepolia-Testnetz traten unerwartete Probleme auf, die zur Produktion leerer Blöcke führten.
  • Die Entwickler entdeckten einen Angreifer, der einen übersehenen ERC-20-Edge-Case ausnutzte, was zu einer koordinierten Korrektur führte.

Das Pectra-Upgrade von Ethereum im Sepolia-Testnet stieß auf unerwartete Probleme.
Entwickler stießen auf Fehler in ihren Geth-Knoten und beobachteten leere Blöcke, genau zu dem Zeitpunkt, als diese um 7:29 Uhr UTC am 5. März implementiert wurden.

Das Problem wurde durch eine unerwartete Interaktion mit der Einzahlungsvereinbarung verursacht, die zu unbeabsichtigten Log-Events führte. Dies führte zu ungültigen Blöcken, die die korrekte Verarbeitung der Transaktionen behinderten.

Das Ethereum-Team hat die Ursache schnell gefunden. Der Einzahlungsvertrag, der Einzahlungen verarbeitet, gab fälschlicherweise ein ERC-20-Übertragungsereignis anstelle des erwarteten Einzahlungsereignisses aus.

Da die Logik des Netzwerks verlangte, dass alle Deposit-Contract-Protokolle auf die gleiche Weise behandelt werden, führte diese Diskrepanz zu Fehlern bei der Blockproduktion.

Die Entwickler sahen, dass jeder Block mit einer Transaktion, die mit dem Vertrag verbunden war, zurückgewiesen wurde und nur leere Blöcke übrig blieben. Es wurde ein Patch vorgeschlagen, um ungültige Protokolle zu ignorieren, allerdings standen die Entwickler vor einem großen Problem: Sie mussten ihn so einführen, dass die Chain nicht gespalten wird.

Sie planten das Update jedoch für 14:00 UTC, um den Teams Zeit zur Vorbereitung zu geben. In der Zwischenzeit, um Störungen zu minimieren, ersetzten sie problematische Transaktionen durch solche mit höheren Gebühren, um sicherzustellen, dass weiterhin Blöcke erzeugt werden konnten.

Null-Token-Transfers ermöglichen neuen Exploit, der die Korrektur umgeht

Als das Team glaubte, das Problem sei behoben, tauchten wieder leere Blöcke auf. Bei der Untersuchung stellte sich heraus, dass es eine neue Transaktion gab, die dieselbe Schwachstelle ausnutzte. Das Team vermutete zunächst einen internen Fehler, musste aber später feststellen, dass eine externe Partei die Schwachstelle gefunden hatte.

Der Angreifer nutzte einen weniger bekannten Aspekt des ERC-20-Standards aus: die Übertragung von Null-Token. Die Methode ermöglichte es jedem, auch Nicht-Token-Besitzern, Übertragungsereignisse auszulösen und so die ursprüngliche Gegenmaßnahme zu umgehen.

Als Reaktion auf diese neue Bedrohung haben die Entwickler schnell reagiert. Sie setzten einen privaten Patch ein, der die Transaktionen blockierte, die in direktem Kontakt mit dem Einzahlungsvertrag standen.

Der Patch wurde unauffällig auf eine begrenzte Anzahl von DevOps-Knotenpunkten aufgespielt, um die Chain weiter funktionstüchtig zu halten, während an einer größeren Lösung gearbeitet wurde.

Der Plan des Angreifers sah vor, dass er Zugang zum Entwicklerforum haben sollte, was die Sache noch komplexer machte. Der Angreifer hätte seine Strategie ändern können, indem er die Transaktionen über zwischengeschaltete Contracts ausgeführt hätte, falls der Patch öffentlich geworden wäre.

Dadurch waren die Entwickler gezwungen, die Reaktion diskret zu behandeln und gleichzeitig sicherzustellen, dass genügend vollständige Blöcke produziert wurden.

Private Fix
Quelle: Github

Ethereum-Entwickler planen tiefere Überprüfungen vor Mainnet-Rollout

Um 14:00 UTC synchronisierten sich die Sepolia-Knoten mit dem offiziellen Patch und nahmen die normale Blockproduktion wieder auf. Die Transaktion des Angreifers wurde später gemined, was die Synchronisierung der Knoten bestätigte. Das Netzwerk hat während der gesamten Störung seine Endgültigkeit nicht verloren und das Mainnet blieb unberührt.

Die Entwickler stellten fest, dass das Problem dadurch verursacht wurde, dass der Sepolia-Deposit-Contract im Gegensatz zur Mainnet-Version eine token-basierte Zugangsbeschränkung aufweist. Das Design führte zu einer unerwarteten Interaktion mit ERC-20-Token-Transfers, was die Schwachstelle verursachte.

Der Angriff deckte einen grundlegenden Fehler im ERC-20-Standard auf: Zero-Token-Transfers lösen immer noch Ereignisse aus, die in einigen Fällen ausgenutzt werden können.

Angesichts dieser Risiken planen die Entwickler, die Smart-Contract-Interaktionen genauer zu überprüfen, bevor sie Pectra im Ethereum-Mainnet bereitstellen.

Zusätzliche Simulationen und Probeläufe im Testnetz werden sicherstellen, dass auch Randfälle berücksichtigt werden. Das Team wird den Aktualisierungsprozess von Ethereum verfeinern, um solche Unterbrechungen in zukünftigen Versionen zu vermeiden.

Disclaimer: ETHNews does not endorse and is not responsible for or liable for any content, accuracy, quality, advertising, products, or other materials on this page. Readers should do their own research before taking any actions related to cryptocurrencies. ETHNews is not responsible, directly or indirectly, for any damage or loss caused or alleged to be caused by or in connection with the use of or reliance on any content, goods, or services mentioned.
Mishal Ali
Mishal Ali
Mishal Ali is a passionate crypto journalist with over five years of experience in finance and cryptocurrency reporting. She has worked with renowned platforms like TronWeekly, delivering in-depth market insights and industry updates. She also runs personal blogs to explore these topics further. In her free time, Mishal loves watching movies and staying inspired through creative storytelling.
RELATED ARTICLES

LATEST ARTICLES