Kürzlich haben Forscher des Cybersicherheitsunternehmens Codean Labs eine hochriskante Sicherheitslücke in der Open-Source-Verschlüsselungsbibliothek OpenPGP.js offengelegt. Diese Sicherheitslücke ermöglicht die willkürliche Fälschung signierter und verschlüsselter Nachrichten, was zur vollständigen Zerstörung der auf dieser Technologie basierenden E-Mail-Verschlüsselung mit öffentlichen Schlüsseln führt.

OpenPGP.js ist eine in JavaScript geschriebene Open-Source-Verschlüsselungsbibliothek, die Verschlüsselungs- und Entschlüsselungsfunktionen basierend auf dem OpenPGP-Standard für Webanwendungen und Node.js-Umgebungen bereitstellt, d. h. um eine sichere verschlüsselte E-Mail-Kommunikation auf der Client- oder Serverseite zu erreichen und Dateiverschlüsselung und digitale Signaturen usw. zu unterstützen.
Derzeit verlässt sich der verschlüsselte E-Mail-Anbieter Proton Mail hauptsächlich auf diese Verschlüsselungsbibliothek. Tatsächlich wird diese Open-Source-Bibliothek hauptsächlich von Proton Mail verwaltet, sodass die tatsächlich am stärksten betroffenen Benutzer auch Proton Mail sind. Die zugewiesene Schwachstellennummer ist CVE-2025-47934 mit einem Schwachstellenwert von 8,7/10. Aus Sicherheitsgründen haben die Forscher keine vollständige Beschreibung der Schwachstelle und keinen Proof-of-Concept veröffentlicht, aber diese Proof-of-Concept-Codes werden nach der Behebung der Schwachstelle nacheinander veröffentlicht.
Aus der kurzen Beschreibung erfahren wir, dass das Grundproblem ein Fehler im Vertrauenssignaturprozess von OpenPGP.js ist. Um eine Nachricht zu fälschen, benötigt der Angreifer eine gültige Nachrichtensignatur und rechtmäßig signierte Klartextdaten. Der Angreifer kann dann beliebige Daten seiner Wahl verwenden, um signierte verschlüsselte Nachrichten zu fälschen, die aussehen, als wären sie rechtmäßig von OpenPGP.js signiert worden.
Die betroffenen Versionen sind OpenPGP.js 5.0.1~5.11.2 und 6.0.0-alpha~6.1.0. Die Versionen der 4.x-Serie sind nicht betroffen, daher sollten Entwickler und Benutzer, die OpenPGP.js verwenden, aus Sicherheitsgründen ein Upgrade auf die Versionen 5.11.3 und 6.1.1 durchführen.