Security · · 3 min read

pypdf 취약점 제보: CVE 3건 배정

직접 제보한 pypdf 취약점 3건에 CVE-2026-102995, CVE-2026-102996, CVE-2026-102999가 배정되었습니다. 공식 권고와 수정 버전, 기존 연구 기록을 정리합니다.

#Security #pypdf #CVE #Responsible Disclosure

CVE 배정 내역

2026년 10월 1일, pypdf 공식 보안 권고에서 직접 제보한 취약점 3건의 CVE 배정을 확인했습니다. 세 권고 모두 GitHub 계정 jungmingi-lab이 제보자(Reporter)로 기록되어 있으며, 심각도는 Medium입니다.

| CVE | 영향 | 영향 버전 | 수정 버전 | 공식 권고 | | --- | --- | --- | --- | --- | | [CVE-2026-102995](https://www.cve.org/CVERecord?id=CVE-2026-102995) | /ToUnicode 스트림 처리 중 과도한 메모리 사용 | < 6.18.1 | 6.18.1 | [GHSA-fp3h-c4fm-7vvf](https://github.com/py-pdf/pypdf/security/advisories/GHSA-fp3h-c4fm-7vvf) | | [CVE-2026-102996](https://www.cve.org/CVERecord?id=CVE-2026-102996) | 폰트 데이터 처리 중 과도한 메모리 사용 | < 6.18.1 | 6.18.1 | [GHSA-g9cg-prrw-2r8q](https://github.com/py-pdf/pypdf/security/advisories/GHSA-g9cg-prrw-2r8q) | | [CVE-2026-102999](https://www.cve.org/CVERecord?id=CVE-2026-102999) | 다수의 첨부 파일 접근 시 처리 시간 증가 | < 6.19.0 | 6.19.0 | [GHSA-v247-6f48-mgcj](https://github.com/py-pdf/pypdf/security/advisories/GHSA-v247-6f48-mgcj) |

기존 연구 기록

첫 두 건은 2026년 9월 11일 공식 보안 권고가 공개되었고, 9월 14일에 원인과 수정 내용을 이 사이트에 정리했습니다. 당시 미배정으로 표시했던 CVE 정보도 이번에 갱신했습니다.

  • [CVE-2026-102995: bfchar 토큰 길이 검증 누락 연구 기록](/writeups/pypdf-bfchar-token-limit/)
  • [CVE-2026-102996: simple font /Widths 배열 제한 누락 연구 기록](/writeups/pypdf-simple-font-widths-limit/)
  • [CVE-2026-102999: 첨부 파일 매핑의 반복 탐색 연구 기록](/writeups/pypdf-attachment-mapping-complexity/)

첨부 파일 처리 취약점

CVE-2026-102999의 공식 권고는 2026년 9월 16일 공개되었습니다. PDF에 포함된 다수의 첨부 파일을 사전 기반 API로 접근할 때 처리 시간이 길어질 수 있는 가용성 문제이며, pypdf 6.19.0에서 수정되었습니다.

공식 권고는 업그레이드가 어려운 경우 [수정 PR #4081](https://github.com/py-pdf/pypdf/pull/4081)의 변경 사항 적용을 대안으로 안내합니다.

업데이트 안내

위 세 건의 수정 사항을 모두 포함하는 최소 버전은 pypdf 6.19.0입니다. 운영 환경에서는 이후 보안 수정도 고려해 사용 가능한 최신 안정 버전을 확인하고, 신뢰하지 않는 PDF 처리 작업에 메모리와 실행 시간 제한을 함께 적용하는 것이 좋습니다.

이 글의 날짜는 CVE 배정 정보를 확인해 사이트에 반영한 날짜입니다. 개별 CVE의 정확한 배정일을 뜻하지 않습니다.

정민기 연구 및 기술 기록으로 돌아가기