
CVE-2025-50422에 대한 개념 증명(PoC): Poppler의 pdftocairo에서 힙 메모리 정보 노출(heap memory disclosure) 취약점을 시연하여, 로컬 공격자가 프로세스 메모리에서 평문 PDF 스트림을 복구할 수 있게 합니다.
Poppler 25.04.0 이전 버전
pdftocairo가 악성 PDF를 렌더링하고 종료 시 cairo_debug_reset_static_data()를 호출하면 PDF 객체 스트림을 포함하는 힙 메모리가 제대로 지워지지 않습니다. 로컬 액세스 권한이 있는 공격자는 프로세스 메모리를 덤프하여 평문 PDF 콘텐츠(예: /stream /endstream 블록)를 복구할 수 있습니다.
구체적인 취약점 재현 과정(Cause of the vulnerability.pdf) 및 POC 파일(poppler-pdftocairo-poc)이 첨부되어 있습니다.
공급업체(freedesktop, Poppler 유지보수자)는 이 문제를 인지하고 버그를 수정했습니다. 수정 사항은 공식 저장소에 커밋되었습니다.
공급업체가 제공한 패치 / 커밋의 공개 링크는 다음과 같습니다.
https://gitlab.freedesktop.org/poppler/poppler/-/issues/1591
https://gitlab.freedesktop.org/cairo/cairo/-/merge_requests/621
이를 통해 취약점이 인지되었으며 해결되었음이 확인됩니다.
Poppler 25.04.0 이전 버전
pdftocairo가 악성 PDF를 렌더링하고 종료 시 cairo_debug_reset_static_data()를 호출하면 PDF 객체 스트림을 포함하는 힙 메모리가 제대로 지워지지 않습니다. 로컬 액세스 권한이 있는 공격자는 프로세스 메모리를 덤프하여 평문 PDF 콘텐츠(예: /stream /endstream 블록)를 복구할 수 있습니다.
구체적인 취약점 재현 과정(漏洞原因.pdf) 및 POC 파일(poppler-pdftocairo-poc)이 첨부되어 있습니다.
공급업체(freedesktop, Poppler 유지보수자)는 이 문제를 확인하고 해당 취약점을 수정했습니다. 수정 사항은 공식 코드 저장소에 커밋되었습니다.
다음은 공급업체가 제공한 패치/커밋의 공개 링크입니다.
https://gitlab.freedesktop.org/poppler/poppler/-/issues/1591
https://gitlab.freedesktop.org/cairo/cairo/-/merge_requests/621
이를 통해 해당 취약점이 확인되었고 수정되었음이 입증됩니다.