In der Bibliothek OpenPGP.js wurde eine Sicherheitsanfälligkeit (CVE-2025-47934) festgestellt, die es einem Angreifer ermöglicht, eine modifizierte Nachricht zu senden, die vom Empfänger als verifiziert angesehen wird (die Funktionen openpgp.verify und openpgp.decrypt geben an, dass die digitale Signatur erfolgreich überprüft wurde, obwohl der Inhalt ersetzt und von den Daten abweicht, für die die Signatur erstellt wurde). Die Schwachstelle wurde in den Versionen OpenPGP.js 5.11.3 und 6.1.1 behoben. Das Problem tritt nur in den Zweigen OpenPGP.js 5.x und 6.x auf und betrifft nicht OpenPGP.js 4.x.
Die Bibliothek OpenPGP.js bietet eine eigenständige Implementierung des OpenPGP-Protokolls in JavaScript, die es ermöglicht, im Browser Verschlüsselungsoperationen durchzuführen und mit digitalen Signaturen auf Basis öffentlicher Schlüssel zu arbeiten. Das Projekt wird von den Entwicklern von Proton Mail vorangetrieben und wird neben der Bereitstellung von Ende-zu-Ende-Verschlüsselung für Nachrichten in Proton Mail auch in Projekten wie FlowCrypt, Mymail-Crypt, UDC, Encrypt.to, PGP Anywhere und Passbolt eingesetzt.
Die Sicherheitsanfälligkeit betrifft die Verifikationsverfahren, die in den Text der Signatur eingebettet sind (openpgp.verify) sowie bei signierten und verschlüsselten Nachrichten (openpgp.decrypt). Ein Angreifer kann vorhandene signierte Nachrichten nutzen, um neue Nachrichten zu erstellen, bei deren Entpackung die anfällige Version von OpenPGP.js den eingefügten Inhalt extrahiert, der von dem Inhalt der ursprünglichen signierten Nachricht abweicht. Die Schwachstelle betrifft nicht Signaturen, die getrennt vom Text verbreitet werden (das Problem tritt nur auf, wenn die Signatur zusammen mit dem Text als ein einzelnes Datenpaket übertragen wird).
Um eine gefälschte Nachricht zu erstellen, benötigt der Angreifer lediglich eine Nachricht mit einer eingebetteten oder separaten Signatur sowie Kenntnis der im Originaldokument signierten Daten. Der Angreifer kann die Nachricht so ändern, dass die Signatur für die modifizierte Version weiterhin als gültig angesehen wird. Ebenso können signierte verschlüsselte Nachrichten verändert werden, bei deren Entpackung die hinzugefügten Daten des Angreifers zurückgegeben werden.
Quelle: opennet.ru
