🔍 CVE-2023-36464

6.2
CVSS Score
MEDIUM
2023-06-27
2026-11-02 16:06
✅ 완료

🇰🇷 한글 설명

pypdf는 순수 Python으로 작성된 오픈소스 PDF 라이브러리입니다. 영향받는 버전에서 공격자가 특수하게 조작한 PDF를 만들면, __parse_content_stream 함수 실행 시 무한 루프가 발생할 수 있습니다. 이는 사용자가 해당 PDF에서 텍스트를 추출할 때 발생할 수 있습니다. 이 문제는 pull request #969에서 도입되었고 #1828에서 수정되었습니다.

💡 쉬운 설명

PDF 파일을 읽는 프로그램이 악성 PDF를 만나면 멈춰버려 서비스가 응답하지 않게 될 수 있습니다. 해당 라이브러리를 최신 버전으로 업그레이드하면 이 문제를 해결할 수 있습니다.

🇺🇸 원문 (English)

pypdf is an open source, pure-python PDF library. In affected versions an attacker may craft a PDF which leads to an infinite loop if `__parse_content_stream` is executed. That is, for example, the case if the user extracted text from such a PDF. This issue was introduced in pull request #969 and resolved in pull request #1828. Users are advised to upgrade. Users unable to upgrade may modify the line `while peek not in (b"\r", b"\n")` in `pypdf/generic/_data_structures.py` to `while peek not in (b"\r", b"\n", b"")`.

📍 영향받는 시스템

pypdf 라이브러리의 취약 버전 (수정 PR #1828 이전 버전, 정확한 버전 범위는 공식 권고 확인 필요)

⚔️ 공격 벡터

공격자가 조작된 PDF 파일을 제작해 피해자가 텍스트 추출 등으로 처리하게 하여 무한 루프(서비스 거부)를 유발

🛡️ 대응 방법

pypdf를 수정된 최신 버전으로 업그레이드하거나, pypdf/generic/_data_structures.py의 while peek not in (b"\r", b"\n") 줄을 while peek not in (b"\r", b"\n", b"") 로 수정

🔧 검증 코드

출력된 버전이 수정 이전 취약 버전이면 업그레이드가 필요하며, 수정 이후 버전이면 해당 취약점은 해결된 상태입니다.

Shell / Script
pip show pypdf 2>/dev/null | grep -i version

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

💻 영향받는 소프트웨어

Magento Open Source