
Ghostscript PDF 버전 10.05.0까지의 버전에서 인수 검증 부재로 인한 비밀번호 유출
Artifex Ghostscript 버전 10.05.1 이전 버전에서 PDF 파일을 보호하는 데 사용된 일반 텍스트 비밀번호가 출력에 포함되는 취약점이 발생합니다. 이 문제는 gs_lib_ctx_stash_sanitized_arg (base/gslibctx.c)에서 인수 정리(sanitization)가 부족하여, 특히 # 문자를 처리할 때 발생합니다.
-sUserPassword 또는 -sOwnerPassword와 같은 명령줄 인수를 사용하여 비밀번호로 보호된 PDF를 생성할 때, 비밀번호를 포함한 전체 호출이 생성된 PDF의 시작 부분에 일반 텍스트로 저장됩니다. 파일에 접근할 수 있는 사람은 Windows의 type 또는 Linux/macOS의 cat과 같은 간단한 도구를 사용하여 비밀번호를 검색할 수 있습니다.
Ghostscript 버전 10.05.0 이전 버전 설치
https://github.com/ArtifexSoftware/ghostpdl-downloads
다음과 같은 명령을 사용하여 비밀번호로 보호된 PDF 생성:
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
생성된 PDF 검사:
type C:\Users\Admin\Downloads\test.pdf
파일 시작 부분에 일반 텍스트 비밀번호를 포함한 전체 명령줄 문자열이 포함된 것을 확인할 수 있습니다.