Le fabricant de wallet Ledger exhorte ses utilisateurs de l'application Ethereum à effectuer à nouveau une mise à jour, car deux failles de signature persistent dans sa précédente mise à jour de sécurité.
Le fabricant de wallet matériel a publié la version 1.22.3 de l'application Ethereum le 25 août, en corrigeant des vulnérabilités qui pouvaient cacher des opérations lors d'une revue de l'appareil ou autoriser une approbation de jeton à la place d'un paiement attendu.
La mise à jour fait suite à une controverse concernant une faille distincte de signature Ethereum reproduite par le fabricant de wallet concurrent OneKey. Ce problème, identifié sous LSB-023, affectait les anciennes versions et permettait à un hôte compromis d'intercaler des commandes, de sorte que les paramètres de la transaction puissent changer après affichage mais avant signature.
Ledger a déclaré qu'OneKey avait démontré le bogue sur la version 1.22.1 après que l'entreprise l'ait déjà corrigé dans l'application Ethereum 1.22.2, publiée le 13 août.
« Aucun utilisateur de Ledger n’a été piraté », a déclaré l’équipe sécurité de Ledger, décrivant la démonstration comme une reproduction en laboratoire impliquant un logiciel obsolète. L’entreprise a affirmé n’avoir trouvé aucune preuve d’exploitation dans la nature.
Le directeur technique du Ledger Charles Guillemeta fait la même distinction, en disant que reproduire une faille déjà corrigée ne constituait pas un « piratage de Ledger ».
La version 1.22.2 n’a toutefois pas corrigé toutes les vulnérabilités connues des applications Ethereum sur Ledger. Deux failles distinctes, LSB-024 et LSB-025, sont restées présentes jusqu’à la sortie de la version 1.22.3.
Deux chemins de signature supplémentaires sont restés exposés
LSB-024 a affecté la façon dont l'application Ethereum traitait les tableaux d'opérations lors de la signature claire.
L'application lisait le nombre d'opérations à l'aide d'une valeur sur 16 bits, mais stockait le compteur restant dans un champ sur 8 bits. Dans la preuve de concept de Ledger, un tableau contenant 257 opérations a fait boucler le compteur à un, provoquant l'affichage uniquement de la dernière opération sur l'appareil, bien que sa signature autorise l'ensemble du lot.
L'exploitation nécessitait un hôte compromis et un ensemble d'opérations contrôlé par l'attaquant particulièrement vaste. Ledger a testé ce scénario sur une fork de réseau privé et n'a signalé aucune perte pour des utilisateurs réels.
La deuxième vulnérabilité, LSB-025, a affecté le chemin de paiement en token utilisé par l'application d'échange de Ledger lors des échanges.

L'application Ledger a vérifié le jeton, la quantité et la destination, mais n'a pas vérifié que l'action demandée était effectivement un paiement. Un fournisseur d'échange malveillant ou compromis pourrait donc substituer une approbation de jeton correspondant à ces mêmes paramètres et la faire signer sans demande supplémentaire sur l'appareil.
La faille ne pouvait pas créer une autorisation illimitée, passer à un autre jeton ou accorder une autorisation à une adresse arbitraire. Une autorisation ne transfère pas non plus les fonds elle-même et nécessite une transaction ultérieure avant que les actifs autorisés ne puissent être déplacés.
Ledger a déclaré qu'aucune preuve n'a été trouvée indiquant que la vulnérabilité de l'échange a été exploitée.
L'historique des versions soulève une question distincte. Les registres de Ledger indiquent que le correctif pour le problème de comptage de tableau a été fusionné le 5 mai et la correction de la validation de l'échange le 25 mai, plusieurs mois avant la sortie de la version 1.22.2. Leurs bulletins de sécurité n'expliquent pas pourquoi ces modifications étaient absentes de cette mise à jour.
Ledger a défendu sa démarche globale en soulignant que la possibilité de mise à jour est essentielle à la sécurité des hardware wallet. Son équipe de sécurité a indiqué qu'elle identifie en continu les vulnérabilités grâce à des recherches internes et à des programmes externes de récompense pour la détection de bogues, puis les corrige via des mises à jour logicielles.
Pour les utilisateurs, la distinction entre les trois vulnérabilités est importante. La version 1.22.2 a corrigé la faille d’intercalation de commandes ultérieurement reproduite par OneKey, tandis que la version 1.22.3 est nécessaire pour corriger les deux autres bugs de signature divulgués le 27 août.
Ledger recommande d'installer l'application Ethereum 1.22.3 ou ultérieure via Ledger Live et de vérifier la version sur l'appareil. La mise à jour du micrologiciel du hardware wallet seule ne remplace pas l'application Ethereum concernée.
L'article Ledger affirme que le « piratage » viral avait déjà été corrigé, mais deux failles réelles devaient encore être résolues est apparu en premier sur CryptoSlate.

