Core Lightning hat in v26.06.7 einen Fehler beim Schließen von Channels behoben, durch den ein Peer einen alten, widerrufenen Channel-Zustand verbreiten konnte, ohne die Strafe für Betrug auszulösen. Dafür war eine bestimmte Channel-Konfiguration erforderlich. Es handelte sich um eine mögliche Umgehung der Strafe, nicht um einen bestätigten Diebstahl. Das Projekt empfiehlt dringend v26.06.8, das zusätzliche Sicherheits fixes enthält.
Warum das wichtig ist
Ein widerrufenes Lightning-Commitment sollte es der Gegenpartei ermöglichen, eine Strafe geltend zu machen. Vor der Reparatur konnte ein Peer, der kein vorab festgelegtes Shutdown-Skript angegeben hatte, später in einer Shutdown-Nachricht das Output-Skript eines widerrufenen Commitments nennen. Wenn die Outputs übereinstimmten, konnte Core Lightning die Transaktion als kooperatives Schließen behandeln, statt einen alten Commitment-Zustand zu erkennen.
Der Patch prüft Locktime und Sequence-Kodierung der Transaktion, bevor er deren Outputs als mögliches gemeinsames Schließen betrachtet. Dadurch wird der Fehler bei der Channel-Verarbeitung von den Regeln der Bitcoin-Basisschicht getrennt. Der anfällige Pfad betraf nicht jeden Channel, da er von der Bedingung zum Shutdown-Skript abhing.
Auswirkungen auf den Markt
Betreiber eines Core-Lightning-Builds vor v26.06.7 müssen upgraden. v26.06.8 ist die vom Projekt empfohlene Version. Node-Betreiber, die Docker verwenden, sollten außerdem den Image-Digest prüfen. Images, die vom 28. Aug. bis zum 1. Sept. unter v26.06.7 und verwandten Tags bereitgestellt wurden, konnten beim Start die neue Version melden, ohne die Fixes zu enthalten.
Core Lightning veröffentlichte v26.06.7 am 28. Aug., stellte den zunächst unter Embargo stehenden Quellcode am 11. Sept. bereit und führte die zugehörigen Änderungen am 15. Sept. in Pull Request 9509 zusammen. Version v26.06.8 folgte am 22. Sept. mit zusätzlichen Sicherheitsfixes. Betreiber sollten sowohl die Softwareversion als auch bei Docker-Deployments den Image-Digest bestätigen.
Häufig gestellte Fragen
-
Welchen Fehler hat Core Lightning behoben?
Der Fehler konnte es einem Peer ermöglichen, ein altes, widerrufenes Channel-Commitment zu verbreiten, ohne den erwarteten Strafmechanismus auszulösen. Er hing von einer bestimmten Konfiguration des Shutdown-Skripts ab.
-
Welche Core-Lightning-Version enthält die Reparatur?
Die Reparatur wurde mit v26.06.7 veröffentlicht. Das Projekt empfiehlt dringend v26.06.8, das zusätzlich weitere Sicherheitsfixes enthält.
-
War die Bitcoin-Basisschicht von dem Fehler betroffen?
Nein. Das Problem betraf die Logik zur Verarbeitung von Channels in Core Lightning und änderte nicht die Regeln der Bitcoin-Basisschicht.
-
Konnte jeder Core-Lightning-Channel ausgenutzt werden?
Nein. Die mögliche Umgehung erforderte einen Channel ohne vorab festgelegtes Shutdown-Skript sowie die weiteren im Patch beschriebenen Bedingungen.
-
Was sollten Betreiber von Nodes auf Docker-Basis prüfen?
Sie sollten sowohl den Image-Digest als auch die gemeldete Version prüfen. Einige Images unter v26.06.7 und verwandten Tags, die vom 28. Aug. bis zum 1. Sept. bereitgestellt wurden, meldeten das Update, enthielten die Fixes aber nicht.