Sicherheitsanfälligkeit in der Bibliothek OpenPGP.js, die die Verifizierung von Nachrichten umgehen kann

In der Bibliothek OpenPGP.js wurde eine Sicherheitsanfälligkeit (CVE-2025-47934) entdeckt, 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 einen erfolgreichen Prüfungsstatus der digitalen Signatur zurück, obwohl der Inhalt ersetzt wurde und sich von den Daten unterscheidet, für die die Signatur erstellt wurde). Die Sicherheitsanfälligkeit 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 die Durchführung von Verschlüsselungsoperationen im Browser und die Arbeit mit digitalen Signaturen auf Basis öffentlicher Schlüssel ermöglicht. Das Projekt wird von den Entwicklern von Proton Mail weiterentwickelt und wird neben der Organisation der Ende-zu-Ende-Verschlüsselung von Nachrichten in Proton Mail auch in Projekten wie FlowCrypt, Mymail-Crypt, UDC, Encrypt.to, PGP Anywhere und Passbolt eingesetzt.

Die Sicherheitsanfälligkeit betrifft die Verifizierungsverfahren, die in den Text der Signatur (openpgp.verify) und in signierten und verschlüsselten Nachrichten (openpgp.decrypt) integriert sind. Ein Angreifer kann vorhandene signierte Nachrichten verwenden, um neue Nachrichten zu erstellen, bei deren Entpackung von der anfälligen Version von OpenPGP.js der eingespeiste Inhalt extrahiert wird, der sich vom Inhalt der ursprünglichen signierten Nachricht unterscheidet. Die Sicherheitsanfälligkeit betrifft keine separat verbreiteten Signaturen (das Problem tritt nur auf, wenn die Signatur zusammen mit dem Text als ein Block von Daten übertragen wird).

Für die Erstellung einer gefälschten Nachricht benötigt der Angreifer lediglich eine Nachricht mit einer eingebetteten oder separaten Signatur sowie Kenntnis der ursprünglichen Daten, die in dieser Nachricht signiert sind. Der Angreifer kann die Nachricht so ändern, dass die Signatur für die modifizierte Version weiterhin als korrekt angesehen wird. Ähnlich können auch signierte verschlüsselte Nachrichten verändert werden, bei deren Entpackung die vom Angreifer hinzugefügten Daten zurückgegeben werden.

Quelle: opennet.ru

60GB SSD 8Gb DDR4