Des nœuds Bitcoin Lightning non corrigés font face à un bug d'épuisement de canal
Une mise à jour critique pour les nœuds Bitcoin Lightning, version 26.06.10, aborde les vulnérabilités de sécurité des canaux et de résolution de paiements. Mettez à jour dès maintenant!

Mise à jour de Core Lightning
Core Lightning, le logiciel permettant de faire fonctionner les nœuds de paiement Bitcoin Lightning, exhorte les utilisateurs à installer la version 26.06.10 afin de résoudre des failles de sécurité liées aux canaux, à la résolution de paiements et à l'accès à distance. Les mainteneurs recommandent également de revoir les identifiants utilisés pour les commandes à distance, en séparant les restrictions d'accès de la mise à jour du logiciel. L'avis de publication insiste sur la nécessité de procéder à cette mise à jour dès que possible.
Pour ralentir la conversion des correctifs en exploits fonctionnels et donner aux opérateurs plus de temps pour mettre à jour, les mainteneurs ont temporairement suspendu les tests de correction de sécurité.
Améliorations et corrections
La nouvelle version introduit des vérifications sur les signatures de transaction d'un pair lors de l'ouverture et du découpage de canaux financés par Bitcoin, conformément à la spécification BOLT 2 du protocole Lightning, comme indiqué dans le changelog. Un contrat de paiement Bitcoin conditionnel, connu sous le nom d'HTLC, qui venait d'être supprimé, pourrait être confondu avec un contrat actif partageant son hash de paiement, son montant et son expiration. Cela pourrait entraîner l'échec d'un paiement actif en amont, même si son pair pouvait encore le réclamer.
Une autre correction rejette les ouvertures de canaux lorsqu'un pair propose une limite de poussière supérieure à 5 000 satoshis. Le changelog précise que le comportement précédent permettait à un pair de réduire le solde du nœud en frais lors d'une fermeture forcée. Les ouvertures financées par deux parties rejettent également la limite de poussière d'un pair lorsqu'elle dépasse la réserve du canal. Le financement dual reste expérimental, et les mainteneurs déconseillent les canaux à zéro confirmation avec des pairs non fiables.
La publication refuse également une ouverture à zéro confirmation v2, sauf si l'opérateur a configuré l'acceptation pour ce pair.
Compatibilité et historique des versions
Les nœuds ayant exécuté la version master ne peuvent pas rétrograder vers la série 26.06.x en raison d'un schéma de base de données plus récent. GitHub affiche une date de publication du 4 novembre pour la version 26.06.10, tandis que son changelog tagué date la même version du 5 novembre. Cette publication suit les correctifs de sécurité de la version 26.06.9 ainsi qu'un crash déclenché par un déclencheur stocké séparé du 2 novembre.
Interface commando et recommandations
L'interface commando de Core Lightning permet à un pair directement connecté de demander à un nœud d'exécuter une commande. Le pair a généralement besoin d'un rune, un identifiant d'autorisation pour exécuter la commande. La mise à jour ferme une voie pour contourner les restrictions de rune sur les noms de paramètres en utilisant des noms dupliqués ou variant par ponctuation.
Elle corrige également un crash commando déclenché par la réutilisation d'un ID de commande après une commande échouée et rejette les runes surdimensionnées qui consommaient auparavant un travail de décodage excessif. Les mainteneurs recommandent de lier les runes utilisées via commando à l'ID du nœud de l'application par le biais d'une restriction d'ID. Ils conseillent également aux opérateurs de mettre sur liste noire les runes qu'ils ne peuvent pas justifier en utilisant la fonction blacklistrune, puis de délivrer des remplacements avec des restrictions plus strictes.