GnuPG erkennt manipulierte Dokumente nicht

In E-Mails oder Dateien, die eine PGP-Signatur tragen, lassen sich zusätzliche Daten so einschmuggeln, dass GnuPG trotzdem eine gültige Signatur anzeigt.

In Pocket speichern vorlesen Druckansicht 112 Kommentare lesen
Lesezeit: 1 Min.

In E-Mails oder Dateien, die eine PGP-Signatur tragen, lassen sich zusätzliche Daten so einschmuggeln, dass GnuPG trotzdem eine gültige Signatur anzeigt. Betroffen sind alle GnuPG-Versionen vor dem soeben veröffentlichten 1.4.2.2; bei GnuPG 1.9.x tritt der Fehler nur auf, wenn zusätzlicher, als "deprecated" gekennzeichneter Code aktiviert wurde. Auch Skripte und Applikationen, die GnuPG selbst oder die Bibliothek GPGME nutzen, um Signaturen zu prüfen, lassen sich täuschen. Ist die Signatur in einer separaten Datei abgelegt (detached), wie es beispielsweise bei signierten Programm-Paketen häufig der Fall ist, sind die Manipulationen nicht möglich.

Das Problem rührt daher, dass GnuPG verschiedene Packformate für signierte Dateien unterstützt. Insbesondere ist es möglich, mehrere Signaturen hintereinander zu hängen. So kann man in ein signiertes Dokument zusätzliche Daten einfügen, die GnuPG bei der Prüfung als zu einer anderen Signatur gehörig betrachtet und ignoriert. Trotzdem zeigt es nach der erfolgreichen Prüfung der ursprünglichen Signatur den Originaltext zusammen mit dem nachträglich eingefügten an und suggeriert damit, der gesamte Text wäre erfolgreich geprüft worden.

Korrekturen für ältere GnuPG-Pakete soll es nicht geben, Anwender sollten deshalb baldmöglichst auf die aktuelle Version GnuPG 1.4.2.2 umstellen.

Siehe dazu auch: (ju)