要点
- CVE-2022-24859 是影响 pypdf2, pypdf2 (pypdf2 project) 的中危 (CVSS 5.5)漏洞。
- 未来 30 天内被利用的概率(EPSS):1.3%,高于 71.0% 的漏洞。
- 修复:升级到 1.27.5 或更高版本。
| Package | Affected versions | Patched versions |
|---|
| pypdf2 PyPI | < 1.27.5
| 1.27.5
|
| pypdf2 | < 1.27.5
| 1.27.5
|
Description
Impact
An attacker who uses this vulnerability can craft a PDF which leads to an infinite loop if the PyPDF2 user wrote the following code:
from PyPDF2 import PdfFileReader, PdfFileWriter
from PyPDF2.pdf import ContentStream
reader = PdfFileReader("malicious.pdf", strict=False)
for page in reader.pages:
ContentStream(page.getContents(), reader)
Patches
PyPDF2==1.27.5 and later are patched.
Credits to Sebastian Krause for finding (issue) and fixing (PR) it.
NVD description
PyPDF2 is an open source python PDF library capable of splitting, merging, cropping, and transforming the pages of PDF files. In versions prior to 1.27.5 an attacker who uses this vulnerability can craft a PDF which leads to an infinite loop if the PyPDF2 if the code attempts to get the content stream. The reason is that the last while-loop in `ContentStream._readInlineImage` only terminates when it finds the `EI` token, but never actually checks if the stream has already ended. This issue has been resolved in version `1.27.5`. Users unable to upgrade should validate and PDFs prior to iterating over their content stream.
Running one of these products? Scan your site to see whether it exposes a vulnerable version.
Scan my site free