Core-Lightning-Versionen von v25.02 bis v26.04 können wiederholt abstürzen, nachdem eine fehlerhafte Kanalankündigung auf der Festplatte gespeichert wurde. Der Forscher Nishant Bansal machte den Fehler am 24. Oktober öffentlich. Ein Update verhindert, dass neue bösartige Ankündigungen gespeichert werden, entfernt aber keinen Auslöser, der bereits im gossip_store des Nodes liegt.
Warum das wichtig ist
In der Ankündigung wird derselbe, zuvor unbekannte Node als beide Endpunkte aufgeführt. Die verwundbare Software akzeptiert und speichert sie, bevor der Routing-Graph das Duplikat erkennt. Dadurch bricht gossipd ab, die Komponente, die Ankündigungen verarbeitet. Core Lightning wertet den Fehler als fatal für den Node.
Der Fix prüft, ob die ID des ersten Nodes strikt kleiner ist als die des zweiten, und weist gleiche IDs zurück. Core Lightning übernahm PR #9082 am 24. April und veröffentlichte den Fix am 25. April in Version v26.04.1. Die Prüfung gilt jedoch für eingehende Ankündigungen. Beim Start werden weiterhin Einträge geladen, die vor dem Update gespeichert wurden. Laut Bansal müssen Betreiber den problematischen Eintrag manuell entfernen.
Auswirkungen auf den Markt
Die Veröffentlichung macht deutlich, dass die Installation des Patches und die Bereinigung eines betroffenen Nodes zwei getrennte Schritte sind. Die Bereinigung allein verhindert ebenfalls keinen erneuten Absturz, wenn die vom Angreifer kontrollierte Funding-Transaktion noch nicht ausgegeben wurde und die Ankündigung erneut gesendet wird. Bitcoin Optech weist darauf hin, dass Releases vor v25.02 die Ankündigung weiterleiten konnten, ohne selbst abzustürzen. Ein Angreifer musste daher nicht direkt mit jedem verwundbaren Node verbunden sein.
Das Betriebsrisiko geht über Ausfallzeiten hinaus. Ein offline befindlicher Lightning-Node kann die Blockchain nicht auf einen widerrufenen Kanalzustand überwachen oder vor Ablauf eine zeitlich begrenzte Zahlungsforderung geltend machen. Dadurch können Gelder gefährdet sein. Am 2. November war v26.06.9 die neueste Version. Sie wurde am 7. Oktober veröffentlicht und wird von den Maintainer:innen dringend zur Installation empfohlen.
Häufig gestellte Fragen
-
Welche Core-Lightning-Versionen sind von dem bekannt gewordenen Fehler betroffen?
Laut der Veröffentlichung sind Versionen von v25.02 bis v26.04 betroffen.
-
Warum kann ein Node nach dem Software-Update weiterhin abstürzen?
Das Update verhindert neue fehlerhafte Ankündigungen, entfernt aber keinen bereits im gossip_store gespeicherten Auslöser. Beim Start wird dieser Eintrag erneut geladen, wodurch der Absturz wieder auftritt.
-
Warum bringt die fehlerhafte Kanalankündigung Core Lightning zum Absturz?
Sie nennt denselben, zuvor unbekannten Node als beide Endpunkte. Der Routing-Graph erkennt das Duplikat, worauf gossipd abbricht und der Node den Fehler als fatal behandelt.
-
Was müssen Betreiber zusätzlich zur Installation des Fixes tun?
Der problematische Eintrag muss manuell aus dem gossip_store entfernt werden. Die Bereinigung allein verhindert möglicherweise keinen erneuten Absturz, wenn die vom Angreifer kontrollierte Funding-Transaktion unausgegeben bleibt und die Ankündigung erneut gesendet wird.
-
Wie können Ausfallzeiten Lightning-Gelder gefährden?
Ein offline befindlicher Node kann die Blockchain nicht auf einen widerrufenen Kanalzustand überwachen oder vor Ablauf eine zeitlich begrenzte Zahlungsforderung geltend machen.