Nach einem bekannten Angriff auf einen Telegram-Bot haben Lightning-Entwickler den Rechnungsstandard BOLT11 verschärft. Software muss mehrdeutige Felder nun zwingend ablehnen.
Am 19. Oktober verschärften Lightning-Entwickler den Rechnungsstandard BOLT11. Ziel dieser Änderung ist es, dass Software mehrdeutige Felder für Payment-Hashes und Payment-Secrets ablehnen muss.
Die Anpassung geht auf den Bericht eines Entwicklers zurück. Dieser schilderte einen Angriff, bei dem bereits abgeschlossene Bitcoin-Auszahlungen fälschlicherweise als unbezahlt dargestellt wurden.
Dabei wurden Bibliotheken ausgenutzt, die unterschiedliche Hashes wählten: Einige nahmen das erste Payment-Hash-Feld in einer Rechnung, andere das letzte.
In einer Erklärung vom 10. September berichtete Entwickler Roasbeef über den Hack eines Telegram-Peer-to-Peer-Bots. Ein konkretes Datum für den Vorfall oder genaue Schadenszahlen wurden dabei jedoch nicht genannt.
Durch diese Lücke verfolgte ein Dienst die Auszahlung unter einem Hash, während der Node eine Zahlung mit einem anderen Hash ausführte. Dies liess die Auszahlung unbezahlt erscheinen und öffnete den Weg für weitere Auszahlungen.
Die aktuelle BOLT11-Spezifikation verlangt nun exakt ein Payment-Hash-Feld und ein Payment-Secret-Feld. Fehlt eines dieser Felder oder kommt es doppelt vor, muss dies direkt zu einem Zahlungsfehler führen.
Die Node-Software lnd integrierte die Ablehnung doppelter Hashes bereits am 23. September. Die Versionen v0.20.5-beta und v0.21.4-beta enthalten diesen entsprechenden Payment-Hash-Fix.




