Gefälschte Signaturen: OpenPGP.js braucht Patches

OpenPGP.js, eine Javascript-Implementierung von OpenPGP, lässt sich beim Überprüfen von Nachrichtensignaturen täuschen.

OpenPGP.js, eine Javascript-Implementierung von OpenPGP, lässt sich beim Überprüfen von Nachrichtensignaturen täuschen. Patches beheben die schwerwiegende Sicherheitslücke.

Eine böswillig modifizierte Nachricht kann entweder an openpgp.verify oder openpgp.decrypt übergeben werden, wodurch diese Funktionen ein gültiges Signaturprüfungsergebnis zurückgeben, obwohl die Daten eigentlich nicht signiert wurden, heißt es in einer Sicherheitsmeldung zur Lücke (CVE-2025-47934)auf Github.

Durch diesen Fehler können Signaturprüfungen von inline (nicht abgetrennten) signierten Nachrichten (mit openpgp.verify) und signierten und verschlüsselten Nachrichten (mit openpgp.decrypt mit verificationKeys) gefälscht werden. Beide Funktionen würden dann extrahierte Daten zurückgeben, die nicht mit den ursprünglich signierten Daten übereinstimmen. Abgetrennte Signaturüberprüfungen seien davon nicht betroffen, da in diesem Fall keine signierten Daten zurückgegeben werden.

Um eine Nachricht zu fälschen, benötigt der Angreifer eine einzelne gültige Nachrichtensignatur (inline oder losgelöst) sowie die Klartextdaten, die rechtmäßig signiert wurden, und kann dann eine inline-signierte Nachricht oder eine signierte und verschlüsselte Nachricht mit beliebigen Daten seiner Wahl konstruieren, die von den betroffenen Versionen von OpenPGP.js als rechtmäßig signiert erscheinen.

In der Mitteilung heißt es weiter: „Jede inline-signierte Nachricht kann so modifiziert werden, dass sie beliebige andere Daten zurückliefert (und trotzdem anzeigt, dass die Signatur gültig war), und dasselbe gilt für signierte+verschlüsselte Nachrichten, wenn der Angreifer eine gültige Signatur erlangen und eine neue Nachricht (nach Wahl des Angreifers) zusammen mit dieser Signatur verschlüsseln kann.“

Betroffen seien sowohl OpenPGP.js v6 als auch v5. OpenPGP.js v4 ist nicht betroffen. Das Problem wurde in den Versionen 5.11.3 und 6.1.1 gepatcht. Wer kurzfristig die Patches nicht einspielen kann, findet in der Meldung einen Workaround.

E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Nach oben