NachrichtenKryptoCore-Lightning-Schwachstelle kann Knoten nach einem Upgrade weiter zum Absturz bringen, bis ein gespeicherter Trigger entfernt wird

Core-Lightning-Schwachstelle kann Knoten nach einem Upgrade weiter zum Absturz bringen, bis ein gespeicherter Trigger entfernt wird

Autor: CryptoNewsNet·

Wichtige Erkenntnisse

  • •Die Schwachstelle betrifft Core-Lightning-Versionen v25.02 bis v26.04 und wurde vom Forscher Nishant Bansal am 24. Oktober öffentlich offengelegt.
  • •Eine manipulierte Channel-Ankündigung, die dieselbe Node-ID als beide Endpunkte angibt, wird akzeptiert, in den gossip_store geschrieben und bringt den Knoten bei jedem Neustart zum Absturz, weil der Routing-Graph versucht, den Knoten doppelt einzufügen.
  • •Der präventive Fix wurde am 24. April gemerged und am 25. April in Release v26.04.1 veröffentlicht – Monate bevor die Oktober-Offenlegung auf die Schwachstelle aufmerksam machte.
  • •Da der Patch nur eingehende Ankündigungen validiert und der Start weiterhin gespeicherte Datensätze liest, müssen Betreiber den bösartigen Eintrag manuell aus dem gossip_store löschen, um einen abstürzenden Knoten wiederherzustellen.
  • •Ein offline Knoten kann die Blockchain nicht auf gesperrte Channel-Zustände oder zeitlich begrenzte Zahlungsforderungen überwachen, sodass längere Abstürze das Guthaben des Betreibers gefährden können.
Core-Lightning-Schwachstelle kann Knoten nach einem Upgrade weiter zum Absturz bringen, bis ein gespeicherter Trigger entfernt wird

Core-Lightning-Schwachstelle kann Knoten nach einem Upgrade weiter zum Absturz bringen, bis ein gespeicherter Trigger entfernt wird

Eine offengelegte Schwachstelle in Core Lightning, der Software für Bitcoins Lightning-Bezahlnetzwerk, kann dazu führen, dass ein Knoten bei jedem Neustart weiter abstürzt – selbst nach einem Upgrade –, weil die bösartige Ankündigung, die den Absturz auslöste, auf der Festplatte gespeichert bleibt.

Der Forscher Nishant Bansal offenlegte das Problem am 24. Oktober und benannte die Versionen v25.02 bis v26.04 als betroffen. Sobald die Ankündigung gespeichert wurde, lädt jeder Neustart denselben Trigger erneut, und Bansal erklärt, dass der Betreiber den fehlerhaften Datensatz manuell entfernen muss, um den Knoten wiederherzustellen.

Bitcoin Optech, ein technischer Newsletter, der Bitcoin-Entwicklungen verfolgt, wies am 30. Oktober auf das Problem hin, doch der präventive Patch ist bereits Monate alt. Core Lightning merged den Pull Request #9082 am 24. April und veröffentlichte den Fix am 25. April in Release v26.04.1. Die Oktober-Offenlegung beschreibt also eine Schwachstelle, deren präventiver Fix seit April verfügbar war.

Warum der Patch einen gespeicherten Trigger nicht beseitigt

Channel-Ankündigungen informieren Knoten über Verbindungen im Lightning-Routing-Graph. Zahlungen springen über diese aufgezeichneten Verbindungen, daher ist jeder Routing-Knoten auf eine akurate Kopie des Graphen angewiesen, um Guthaben zu bewegen. In diesem Fall benannte eine manipulierte Ankündigung denselben zuvor unbekannten Knoten als beide Endpunkte. Die verwundbare Software akzeptierte sie, schrieb sie in den gossip_store auf der Festplatte und lud sie anschließend in den Routing-Graph.

Der Graph versuchte dann, diesen Knoten doppelt einzufügen. ein Schutzmechanismus gegen Duplikate brach gossipd ab, die Komponente, die diese Ankündigungen verarbeitet, und Core Lightning behandelte diesen Fehler als fatal für den gesamten Knoten.

Der Patch prüft vor dem Akzeptieren einer Ankündigung die Reihenfolge der Endpunkte. Die Anforderung, dass die erste Node-ID zwingend kleiner als die zweite sein muss, weist auch gleiche IDs zurück, sodass die fehlerhafte Eingabe von vornherein nicht akzeptiert und gespeichert wird.

Die Validierung gilt jedoch nur für eingehende Ankündigungen. Beim Start werden weiterhin Datensätze gelesen, die bereits im gossip_store vorhanden sind, und ein Upgrade entfernt keinen bösartigen Datensatz, der vor dem Absturz gespeichert wurde. Deshalb verlangt Bansals Wiederherstellungsverfahren das manuelle Entfernen des bösartigen Datensatzes aus dem gossip_store.

Die Bereinigung allein lässt eine verwundbare Installation zudem für einen weiteren Absturz anfällig: Laut der Offenlegung kann ein Angreifer dieselbe Ankündigung erneut senden, solange der vom Angreifer kontrollierte Funding-Output – der On-Chain-Output, mit dem der Channel geöffnet wurde – nicht ausgegeben bleibt.

Relay-Exposition, Upgrade-Empfehlung und Ausfallzeitrisiko

Bitcoin Optech weist darauf hin, dass Core-Lightning-Releases vor v25.02 solche Ankündigungen akzeptieren und weiterleiten konnten, ohne selbst abzustürzen. Ein Angreifer brauchte daher keine direkte Verbindung zu jedem verwundbaren Knoten, da eine weitergeleitete Ankündigung an die Peers jedes Knotens gesendet wird und den fehlerhaften Datensatz tiefer ins Netzwerk tragen kann.

Für Betreiber, die jetzt ein Upgrade durchführen, ist v26.04.1 das erste Release mit dem Fix für diese Schwachstelle. Stand 2. November ist das neueste Release des Projekts v26.06.9 vom 7. Oktober, das die Maintainer nachdrücklich zur Installation empfehlen.

Ausfallzeiten bergen ein Risiko für die Zahlungsüberwachung, das über den nicht verfügbaren Dienst hinausgeht. In Lightning obliegt die Durchsetzung der Channel-Regeln dem Knotenbetreiber. Bansal warnt, dass ein offline Knoten die Blockchain nicht auf einen gesperrten Channel-Zustand oder eine zeitlich begrenzte Zahlungsforderung überwachen kann, die vor Ablauf gestellt werden muss. Wer diese Ereignisse verpasst, kann sein Guthaben gefährden.

Originalbericht: CryptoSlate