• Nach Angaben der Ethereum-Entwickler wurde das Sepolia-Testnetz nach dem Einsatz von Pectra angegriffen.
  • Es wurde ein privater Fix bereitgestellt, um das Ausspähen von Chats durch den Angreifer zu verhindern.

Das Ethereum Pectra-Upgrade ging kürzlich im Sepolia-Testnetz in Betrieb und stieß auf Fehler, die durch die Attacken eines Angreifers verstärkt wurden. Die Ethereum-Entwickler sagen, der Angriff sei über eine Schwachstelle erfolgt, die im ERC20-Vertrag übersehen worden war.

Sepolia produziert leere Blöcke: Warum?

Wie CNF berichtete , haben Ethereum-Entwickler das Pectra-Upgrade am 5. März erfolgreich im Sepolia-Testnetz aktiviert. Ziel war, die Upgrade-Funktionen des Pectra-Upgrades unter simulierten Netzwerkbedingungen zu testen.

In einem Beitrag vom 8. März teilte der Ethereum-Entwickler Marius van der Wijdenjedoch mit, dass Sepolia kurz nach der Aktivierung auf Probleme stieß. Nach Angaben des Entwicklers bemerkte das Team Fehlermeldungen auf seinem geth-Knoten und das Mining von leeren Blöcken.

Die Fehlermeldung lautet: „Unable to parse deposit data: deposit wrong length: want 576, have 32.“ Die Ethereum-Entwickler schlossen daraus, dass der Fehler von einem Transfer-Ereignis und nicht von einer Einzahlung herrührt.

Van der Wijden sagte, das Team habe schnell gehandelt, um das Problem zu beheben. Um einen reibungslosen Rollout zu gewährleisten, ersetzte das Team die Transaktionen, die den Edge Case kontinuierlich auslösten.

Van der Wijden merkte jedoch an, dass sie einen Grenzfall in der ERC20-Spezifikation übersehen hatten. Ein unbekannter Nutzer nutzte dieses Schlupfloch aus, um einen 0-Token-Transfer an die Einzahlungsadresse zu senden, was wiederum den Fehler auslöste. Van der Wijden:

„Nach ein paar Minuten sahen wir wieder viele leere Blöcke, also sahen wir uns die Transaktionspools noch einmal an und fanden eine weitere fehlerhafte Transaktion, die dieselben Randfälle auslöste.“

Der Entwickler sagte, dass das Team zunächst dachte, dass jemand von den vertrauenswürdigen Validierern einen Fehler gemacht hatte. Es stellte sich jedoch bald heraus, dass diese Transaktion von einem neuen Konto stammte, das der Hahn kürzlich finanziert hatte. Dies wies sie darauf hin, dass jemand einen Randfall im ERC20-Vertrag entdeckt hatte, den sie übersehen hatten.

Ethereum-Entwickler wehren den Sepolia-Angriff ab

Die Ethereum-Entwickler setzten schnell einen privaten Fix ein, um den Angreifer daran zu hindern, weiteren Schaden anzurichten. Van der Wijden sagte, sie hätten sich für diese Lösung entschieden, weil sie vermuteten, dass der Angreifer ihre Chats mitlesen würde.

Der Entwickler wies darauf hin, dass das Team nur einige wenige von ihnen kontrollierte Nodes aktualisiert habe, um mehr vollständige Blöcke in das Netzwerk zu bekommen. Der Fix filterte lediglich Transaktionen heraus, die den Einzahlungsvertrag direkt aufriefen.

Sobald sie alle ef_devops-Knoten aktualisiert hatten, wurden wieder volle Blöcke vorgeschlagen. Auf diese Weise konnte die Chain weiter genutz werden, bis der Einsatz des echten Fixes koordiniert war.

Um 14 Uhr an diesem Tag waren alle Knoten auf die neuen Versionen aktualisiert, die die tatsächliche Korrektur enthielten, und die Transaktion des Angreifers wurde erfolgreich abgewickelt. Van der Wijden versicherte den Nutzern, dass sie während des Vorfalls nie die Finalisierung verloren haben. Er sagte, dass das Problem nur in Sepolia auftrat, weil dort ein Token-Gated Deposit Contract anstelle des normalen Mainnet Deposit Contracts verwendet wurde.

Wie CNF berichtete , bietet das Ethereum Pectra-Upgrade 11 neue Funktionen, darunter auch Verbesserungen der Skalierbarkeit. Die Ethereum-Entwickler hatten das Pectra-Upgrade bereits am 26. Februar im Holesky-Testnetz ausprobiert, dabei aber Probleme festgestellt. Infolgedessen haben die Entwickler beschlossen, das Pectra-Upgrade zu verschieben, bis weitere Tests durchgeführt wurden.