🇰🇷 한글 설명
pypdf는 순수 Python으로 작성된 무료 오픈소스 PDF 라이브러리입니다. 6.10.1 이전 버전에는 잘못된 대용량 /Size 값을 가진 교차 참조 스트림이나 잘못된 대용량 /N 값을 가진 객체 스트림을 포함한 PDF를 처리할 때 실행 시간이 비정상적으로 길어지는 취약점이 존재합니다. 이 취약점은 pypdf 6.10.1에서 수정되었습니다.
💡 쉬운 설명
악성 PDF 파일을 pypdf로 열면 프로그램이 매우 오랫동안 멈추거나 느려질 수 있습니다. 최신 버전으로 업데이트하면 이 문제를 방지할 수 있습니다.
🇺🇸 원문 (English)
pypdf is a free and open-source pure-python PDF library. An attacker who uses a vulnerability present in versions prior to 6.10.1 can craft a PDF which leads to long runtimes. This requires cross-reference streams with wrong large `/Size` values or object streams with wrong large `/N` values. This has been fixed in pypdf 6.10.1. As a workaround, one may apply the changes from the patch manually.
📍 영향받는 시스템
pypdf 6.10.1 미만 버전을 사용하는 Python 애플리케이션 및 시스템
⚔️ 공격 벡터
공격자가 잘못된 대용량 /Size 또는 /N 값을 포함하도록 조작한 PDF 파일을 대상 시스템에서 처리하게 하여 서비스 지연(DoS)을 유발
🛡️ 대응 방법
pypdf를 6.10.1 이상으로 업그레이드(pip install --upgrade pypdf)하며, 즉시 업그레이드가 어려우면 패치 내용을 수동으로 적용
🔧 검증 코드
출력된 버전이 6.10.1 이상이면 취약점이 수정된 것이고, 6.10.1 미만이면 pypdf를 업그레이드해야 합니다.
pip show pypdf 2>/dev/null | grep -i '^version'
📊 CVSS Vector String
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
💻 영향받는 소프트웨어
Oracle Application Object Library