Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-24688 — # CVE-2026-24688 개념 증명 익스플로잇 pypdf의 개요(outline) 파싱에서 발생하는 서비스 거부(denial-of-service) 취약점인 CVE-2026-24688에 대한 개념 증명 익스플로잇입니다. 메모리 고갈과 시스템 충돌을 입증하는 악성 PDF 생성기와 재현 스크립트가 포함되어 있습니다. | Kitploit
도구/GitHubGitHub/joakimbulow/cve-2026-24688
Vulnerability AnalysisExploitationFuzzingPapers & ResearchLearning & Education
GitHubjoakimbulow/cve-2026-24688

CVE-2026-24688

# CVE-2026-24688 개념 증명 익스플로잇 pypdf의 개요(outline) 파싱에서 발생하는 서비스 거부(denial-of-service) 취약점인 CVE-2026-24688에 대한 개념 증명 익스플로잇입니다. 메모리 고갈과 시스템 충돌을 입증하는 악성 PDF 생성기와 재현 스크립트가 포함되어 있습니다.

저장소 보기
47개월 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-24688 - pypdf - 순환 참조 DoS 취약점

이 저장소에는 CVE-2026-24688을 트리거하기 위한 개념 증명 코드가 포함되어 있습니다.

요약

pypdf의 개요(북마크) 파싱 로직에서 발생하는 심각한 서비스 거부(DoS) 취약점입니다. 순환 개요 참조가 포함된 PDF를 처리할 때 파서가 무한 루프에 빠져 메모리를 지속적으로 할당하며, 제 시스템(TM) 기준 초당 수백 MB의 메모리를 소비하여 결국 전체 시스템이 충돌합니다.

이는 애플리케이션 중단이 아닌 시스템 수준의 DoS입니다.


내용물

  • malicious_circular_outline.pdf - 순환 개요가 포함된 악성 PDF (754바이트)
  • create_malicious_pdf.py - 악성 PDF를 생성하는 스크립트
  • simple_read_pdf.py - 취약점을 재현하는 간단한 테스트 스크립트
  • test_pypdf.sh - 자동화된 테스트 스크립트 (pypdf 설치 및 테스트 실행)
  • README.md - 이 파일

경고: 메모리 사용량을 주시하고 제때 취소하지 않으면 이러한 테스트로 인해 시스템이 충돌할 수 있습니다.


자동화된 테스트 (안전하지 않음)

root@kitploit:~
# 자동화된 테스트 스크립트 실행 (타임아웃 보호 포함)
chmod +x test_pypdf.sh
./test_pypdf.sh

# 이 스크립트는 다음을 수행합니다:
# 1. 취약한 버전의 pypdf 설치
# 2. 15초 타임아웃으로 테스트 실행
# 3. 메모리 소비 동작 표시

수동 테스트

테스트 1: 통제된 테스트 (타임아웃 10초)

root@kitploit:~
# pypdf 설치 (취약한 버전 6.6.0)
pip install "pypdf==6.6.0"

# 타임아웃과 함께 실행
timeout 10s python3 simple_read_pdf.py malicious_circular_outline.pdf

테스트 2: 전체 충돌 테스트 (안전하지 않음)

root@kitploit:~
# pypdf 설치 (취약한 버전 6.6.0)
pip install "pypdf==6.6.0"

# 타임아웃 없이 실행
python3 simple_read_pdf.py malicious_circular_outline.pdf

취약점 세부 정보

취약한 코드

위치: pypdf/_doc_common.py - _get_outline() 메서드 (858-873행)

root@kitploit:~
def _get_outline(self, node, outline=None):
    while True:  # ❌ 순환 감지 없음!
        outline_obj = self._build_outline_item(node)
        if outline_obj:
            outline.append(outline_obj)  # ❌ 루프 내 힙 할당!
        
        if "/Next" not in node:
            break
        node = node["/Next"]  # ❌ 순환 참조를 따라감

근본 원인: 방문 집합 없음, 반복 제한 없음, 지속적인 메모리 할당


영향

확인된 테스트 결과

실제 환경 테스트:

  • 결과: 시스템 충돌, 하드 재부팅 필요
  • 시간: 전체 시스템 장애까지 약 5분 ()
  • 메모리: 30GB 이상 소비
  • CPU: 모든 코어 100% (시스템 스래싱)

공격 특성:

  • ✅ 100% CPU (즉시)
  • ✅ 선형 메모리 증가
  • ✅ 시스템 전체 장애
  • ✅ 하드 재부팅 필요
  • ✅ 잠재적 데이터 손실

수정 사항

버전 6.6.2에서 수정됨

https://github.com/py-pdf/pypdf/security/advisories/GHSA-2q4j-m29v-hq73

도구 다운로드