Récemment, des chercheurs de la société de cybersécurité Codean Labs ont révélé une vulnérabilité de sécurité à haut risque dans la bibliothèque de chiffrement open source OpenPGP.js. Cette vulnérabilité de sécurité permet la falsification arbitraire de messages signés et chiffrés, ce qui conduit à la destruction complète du chiffrement à clé publique des courriers électroniques qui repose sur cette technologie.

OpenPGP.js est une bibliothèque de chiffrement open source écrite en JavaScript, conçue pour fournir des fonctions de chiffrement et de décryptage basées sur la norme OpenPGP pour les applications Web et les environnements Node.js, c'est-à-dire pour obtenir une communication électronique cryptée et sécurisée côté client ou serveur, prenant en charge le chiffrement de fichiers et les signatures numériques, etc.
Actuellement, le fournisseur de messagerie cryptée Proton Mail s'appuie principalement sur cette bibliothèque de cryptage. En fait, cette bibliothèque open source est principalement gérée par Proton Mail, donc les utilisateurs les plus concernés sont également Proton Mail. Le numéro de vulnérabilité attribué est CVE-2025-47934, avec un score de vulnérabilité de 8,7/10. Pour des raisons de sécurité, les chercheurs n'ont pas divulgué la description complète de la vulnérabilité ni la preuve de concept, mais ces codes de preuve de concept seront publiés les uns après les autres une fois la vulnérabilité corrigée.
De la brève description, nous apprenons que le problème racine est une faille dans le processus de signature de confiance d'OpenPGP.js. Afin de falsifier un message, l'attaquant a besoin d'une signature de message valide et de données en texte brut légitimement signées. L'attaquant peut ensuite utiliser n'importe quelle donnée de son choix pour falsifier des messages cryptés signés qui semblent avoir été légitimement signés par OpenPGP.js.
Les versions concernées sont OpenPGP.js 5.0.1~5.11.2 et 6.0.0-alpha~6.1.0. Les versions de la série 4.x ne sont pas affectées, les développeurs et les utilisateurs utilisant OpenPGP.js doivent donc passer aux versions 5.11.3 et 6.1.1 pour garantir la sécurité.