Core Lightning-Knoten können nach einem Upgrade weiterhin abstürzen, bis ein fehlerhafter Datensatz entfernt wird
Erfahren Sie, wie ein Fehler in der Core Lightning-Software Bitcoin-Knoten nach einem Upgrade zum Absturz bringen kann und welche manuelle Intervention erforderlich ist, um das Problem effektiv zu beheben.

Fehler in Core Lightning entdeckt
Ein offengelegter Fehler in Core Lightning, der Software für das Lightning-Zahlungsnetzwerk von Bitcoin, kann dazu führen, dass ein Knoten beim Neustart abstürzt, selbst nach einem Upgrade. Dies geschieht, weil die bösartige Ankündigung, die den Absturz ausgelöst hat, auf der Festplatte bleibt.
Betroffene Versionen und Identifizierung
Der Forscher Nishant Bansal identifizierte in seiner Offenlegung vom 24. Oktober die Versionen v25.02 bis v26.04 als betroffen. Sobald die Ankündigung gespeichert ist, wird beim Neustart der gleiche Trigger erneut geladen. Bansal erklärt, dass der Betreiber den fehlerhaften Datensatz manuell entfernen muss, um den Knoten wiederherzustellen.
Reaktion und Lösung
Bitcoin Optech hob das Problem am 30. Oktober hervor, jedoch ist der präventive Patch bereits seit mehreren Monaten verfügbar. Core Lightning fusionierte PR #9082 am 24. April und lieferte die Lösung am 25. April in der Version v26.04.1 aus. Die Offenlegung im Oktober beschreibt einen Fehler, dessen präventive Lösung seit April bereitsteht.
Technische Details des Fehlers
Kanalankündigungen informieren Knoten über Verbindungen im Lightning-Routinggraphen. In diesem Fall nannte eine Ankündigung denselben zuvor unbekannten Knoten als beide Endpunkte. Die anfällige Software akzeptierte dies und speicherte es in ihrem on-disk gossip_store, bevor es in den Routinggraphen geladen wurde. Der Graph versuchte dann, diesen Knoten zweimal einzufügen.
Eine Schutzmaßnahme gegen Duplikate führte dazu, dass gossipd, die Komponente, die diese Ankündigungen verarbeitet, abstürzte, und Core Lightning betrachtete diesen Fehler als fatal für den gesamten Knoten.
Der Patch überprüft die Reihenfolge der Endpunkte, bevor er eine Ankündigung akzeptiert. Die Anforderung, dass die erste Knoten-ID strikt kleiner als die zweite sein muss, lehnt auch gleiche IDs ab. Dies verhindert, dass fehlerhafte Eingaben akzeptiert und gespeichert werden. Die neue Validierungsprüfung gilt für eingehende Ankündigungen.
Wiederherstellung und Risiken
Der Start liest weiterhin Datensätze, die bereits im gossip_store vorhanden sind, und ein Upgrade entfernt nicht den bösartigen Datensatz, der vor dem Absturz gespeichert wurde. Bansals Wiederherstellungsanforderung besteht in der manuellen Entfernung des bösartigen Datensatzes aus dem gossip_store. Allein die Bereinigung lässt auch eine anfällige Installation offen für einen weiteren Absturz: Die Offenlegung besagt, dass ein Angreifer die gleiche Ankündigung erneut senden kann, während der vom Angreifer kontrollierte Finanzierungsoutput ungenutzt bleibt.
Bitcoin Optech weist darauf hin, dass Core Lightning-Versionen vor v25.02 solche Ankündigungen akzeptieren und weiterleiten konnten, ohne selbst abzustürzen. Ein Angreifer benötigte daher keine direkte Verbindung zu jedem anfälligen Knoten.
Empfohlene Maßnahmen
Für Betreiber, die jetzt ein Upgrade wählen, stellt v26.04.1 die erste Lösung für diesen Defekt dar. Stand 2. November ist die neueste Veröffentlichung des Projekts v26.06.9, die am 7. Oktober herausgegeben wurde und von den Betreuern dringend empfohlen wird.
Ausfallzeiten bringen ein Risiko für die Zahlungsüberwachung mit sich, das über den nicht verfügbaren Service hinausgeht. Bansal warnt, dass ein offline Knoten die Kette nicht auf einen widerrufenen Kanalzustand oder einen zeitlich begrenzten Zahlungsanspruch überwachen kann, der vor Ablauf geltend gemacht werden muss. Das Versäumen dieser Ereignisse kann die Gelder gefährden.