
Fehlende Argumentbereinigung führt zu Passwortleck in Ghostscript PDF-Versionen bis 10.05.0.
Eine Sicherheitslücke in Artifex Ghostscript vor Version 10.05.1 führt dazu, dass das Klartext-Passwort, das zum Schutz einer PDF-Datei verwendet wird, in der Ausgabe eingebettet wird. Das Problem liegt in einer fehlenden Argumentbereinigung in gs_lib_ctx_stash_sanitized_arg (base/gslibctx.c), insbesondere bei der Behandlung von #-Zeichen.
Beim Erstellen einer passwortgeschützten PDF mit Befehlszeilenargumenten wie -sUserPassword oder -sOwnerPassword wird der gesamte Aufruf, einschließlich der Passwörter, im Klartext am Anfang der generierten PDF gespeichert. Jeder, der Zugriff auf die Datei hat, kann das Passwort mit einfachen Werkzeugen wie type (unter Windows) oder cat (unter Linux/macOS) abrufen.
Installieren Sie Ghostscript Version 10.05.0 oder älter
https://github.com/ArtifexSoftware/ghostpdl-downloads
Erstellen Sie eine passwortgeschützte PDF mit einem Befehl wie:
gswin64.exe -dDisplayFormat=198788 -dDisplayResolution=96 -dCompatibilityLevel#1.4 -sUserPassword#123456789 -sOwnerPassword#123456789 -q -P- -dSAFER -dNOPAUSE -dBATCH -sDEVICE#pdfwrite -sOutputFile#C:\Users\Admin\Downloads\test.pdf
Überprüfen Sie die generierte PDF:
type C:\Users\Admin\Downloads\test.pdf
Sie sehen die vollständige Befehlszeile, einschließlich der Klartext-Passwörter, am Anfang der Datei eingebettet.