Mise à jour Core Lightning v26.06.7 : Procédure d’urgence avec embargo

Suite à l’annonce il y a 2 jours où nous suggérions de mettre nos nœuds Lightning hors ligne en attendant des correctifs, les mainteneurs de Core Lightning ont publié la release v26.06.7. Cette mise à jour corrige plusieurs vulnérabilités critiques rapportées par différents chercheurs en sécurité.

Pour réduire le risque de voir certaines failles exploitées, le code source restera indisponible pendant 14 jours après la publication. Cette période d’embargo change la procédure habituelle. Normalement, on compile Core Lightning depuis les sources Git, ce qui permet de vérifier soi-même ce qui est exécuté. Pour cette mise à jour, des archives tarballs pré-compilées sont fournies pour patcher le logiciel directement. La migration de la base de donnée est faite automatiquement au premier lancement, pas de soucis de ce côté là.

1. Sauvegarde conseillée avant manipulation

# Arrêter CLN (le nom du service peu varier en fonction de votre installation)
sudo systemctl stop lightningd.service
# Créer l'archive (depuis utilisateur lightning si vous utilisez des utilisateurs séparés pour chaque service, récommnadé)
tar -czvf /backup/corelightning-backup-$(date +%Y%m%d).tar.gz /home/lightning/.lightning

⚠️ Cela peut durer un moment, l’archive peut facilement faire 2-3Go. En principe si la mise à jour fonctionne on peut la supprimer mais dans le doute vous pouvez la garder quelques jours pour être sûr.


2. Télécharger les fichiers requis

Depuis votre machine qui fait tourner le noeud Lightning :

wget https://github.com/ElementsProject/lightning/releases/download/v26.06.7/clightning-v26.06.7-Ubuntu-xx.xx-xxxxx.tar.xz #prenez la bonne version en fonction de votre version d'Ubuntu et votre architecture (PC standard = amd64).
# il faut aussi récupérer les signatures pour vérifier qu'on a les bons fichiers sans corruption.
wget https://github.com/ElementsProject/lightning/releases/download/v26.06.7/SHA256SUMS-v26.06.7
wget https://github.com/ElementsProject/lightning/releases/download/v26.06.7/SHA256SUMS-v26.06.7.asc

Attention : Si vous avez une installation via Docker, il n’y a pas de nouveau package disponible, il faut aussi utiliser les tarballs.


3. Vérifier l’intégrité des fichiers

a) Vérifier les checksums

sha256sum -c SHA256SUMS-v26.06.7 --ignore-missing

b) Importer les clés GPG des mainteneurs

gpg --recv-keys 4E4A142F8BD3C38A56B362ED578CAC08472545C5 # nGoline
gpg --recv-keys B731AAC521B013859313F674A26D6D9FE088ED58 # Christian Decker
gpg --recv-keys 8A079421A871D0B1083511937AB4802ED5A639F3 # daywalker90

Celle de Peter Neuroth n’est pas sur les serveurs habituels, vous pouvez la prendre directement sur le github ou l’ignorer:

curl -s https://raw.githubusercontent.com/ElementsProject/lightning/master/contrib/keys/pneuroth.txt | gpg --import

c) Vérifier la signature

gpg --verify SHA256SUMS-v26.06.7.asc SHA256SUMS-v26.06.7

⚠️ Ne poursuivez PAS si vous voyez BAD SIGNATURE ou si le checksum ne correspond pas. Normalement vous devez avoir 4 bonnes signatures.


4. Extraction et installation

# Arrêter le daemon sudo systemctl stop lightningd.service (si pas encore fait)
# Extraire dans /usr/local (binaires système) depuis l'utilisateur de base de la machine (pas l'utilisateur lightning)
sudo tar -xvf clightning-v26.06.7-Ubuntu-22.04-amd64.tar.xz -C /usr/local --strip-components=2
# Démarrer Core Lightning
sudo systemctl start lightningd
# On regarde que ça tourne (ça doit être active)
sudo systemctl status lightningd

Il faudra surement attendre quelques secondes voir 1 minute pour que la base de donnée fasse la migration, pas de panique, n’essayer pas de relancer le service ou pire redémarrer la machine. Une fois lançé on peut vérifier que cela tourne.


5. Vérification post-installation

# Vérifiez la version installée
lightning-cli --version # → v26.06.7
# État des canaux
lightning-cli listpeers
# Paiements en cours
lightning-cli listpays

Si vous avez d’autres services qui utilisent le noeud Core Lightning, comme LNbits our BTCPay Server, il faudra les rédemarrer aussi avec

sudo systemctl start NOM_DU_SERVICE

Vérifiez maintenant que tout fonctionne, nœud Lightning (payer une facture vers un wallet externe pour voir, au hasard chatshat@bitcoincoin.ch si vous êtes généreux), puis tester en entrée en générant et payant une facture depuis un wallet externe (genre Phoenix).

Si vous avez besoin de support, n’hésitez pas à nous contacter, nous reviendrons vers vous au plus vite.

Vous pouvez nous suivre en vous abonnant au flux RSS ou en suivant Chatsha sur nostr pour ne rater aucun article ou information sur ce genre de vulnérabilités. On essaie de les relayer aussi vite que possible et en français.

par Chatsha

Auteur et formateur pour Génération Bitcoin, basé en Suisse romande mais actif globalement en ligne. N'hésitez pas à me contacter pour parler de votre projet ou poser vos questions sur Bitcoin et autres sujets liés.