
afl 퍼저 계측(instrumentation)을 사용하여 복제됨! antonio-morales에게 감사를 전합니다.
CVE-2019-13288은 Xpdf 버전 4.01.01에서 발견된 취약점으로, 특히 Parser.cc의 Parser::getObj() 함수에 존재합니다. 이 결함은 특수하게 조작된 PDF 파일을 처리할 때 무한 재귀를 유발하여 서비스 거부(DoS) 상태를 초래할 수 있습니다. 이 취약점은 CVE-2018-16646과 유사하며, 재귀 함수에서 강력한 입력 검증의 중요성을 강조합니다.
CVE ID: CVE-2019-13288
영향을 받는 소프트웨어: Xpdf 4.01.01
취약점 유형: Uncontrolled Recursion (CWE-674)
영향: 서비스 거부(DoS)
CVSS v3.0 기본 점수: 5.5 (Medium)
Parser::getObj()함수는 PDF 파일 내의 객체를 파싱하는 역할을 담당합니다. Xpdf 4.01.01에서 이 함수는 무한 재귀를 방지하기 위한 적절한 검사가 부족합니다. 공격자는 가 종료 없이 자기 자신을 재귀적으로 호출하게 만드는 악의적인 객체 구조를 가진 PDF 파일을 제작할 수 있으며, 이로 인해 스택 고갈과 애플리케이션 충돌이 발생합니다.
Parser::getObj()getObj()공격자는 Parser::getObj() 함수에서 무한 재귀를 유발하도록 설계된 특정 객체 구조를 가진 악성 PDF 파일을 제작합니다. 이 파일이 Xpdf 또는 해당 라이브러리를 사용하는 애플리케이션에 의해 처리되면 애플리케이션은 끝없는 재귀 루프에 빠져 시스템 리소스를 소모하고 결국 충돌합니다.
이 취약점을 입증하는 개념 증명(PoC) PDF 파일은 이 저장소 아래에서 확인할 수 있습니다.
재현 방법을 단계별로 알아보려면 아래를 참조하세요:
참고: 이 PoC는 교육 및 연구 목적으로만 제공됩니다. 명시적 허가 없이 시스템에 사용하는 것은 비윤리적이며 불법일 수 있습니다. 나쁜 짓 하지 마세요!
이 분석은 Antonio Morales의 Fuzzing101 가이드에 제시된 방법론에서 영감을 받았습니다. 이 취약점은 퍼징 기법을 통해 처음 발견되었으며, 숨겨진 소프트웨어 결함을 발견하는 데 있어 이러한 접근 방식의 효과를 보여줍니다.
이 정보는 교육 및 연구 목적으로만 제공됩니다. 저자는 여기에 포함된 정보의 오용에 대해 책임을 지지 않습니다. 어떤 시스템에서든 취약점을 테스트하거나 악용하기 전에 반드시 적절한 권한을 확보하십시오.