Описание
pypdf is a free and open-source pure-python PDF library. Prior to 6.16.1, an attacker can craft a PDF that causes pypdf/_page.py PageObject._extract_text and PageObject.extract_xform_text to traverse a directed acyclic graph of reused form XObjects in which each form invokes a child multiple times, creating exponentially many traversal paths and causing long runtimes and large memory consumption. This issue is fixed in version 6.16.1.
A flaw was found in pypdf, a pure-python PDF library. A remote attacker can exploit this vulnerability by crafting a malicious PDF document containing specially structured XForm objects. Processing this document can lead to excessive iteration, causing the application to consume significant memory and CPU resources, resulting in a Denial of Service (DoS).
Отчет
A flaw was found in pypdf's text extraction logic (_extract_text and extract_xform_text) within PageObject. A remote, unauthenticated attacker could trick a user or automated system into processing a specially crafted PDF containing a directed acyclic graph (DAG) of reused form XObjects. Invoking nested child forms repeatedly causes exponential expansion during traversal, triggering unbounded CPU execution and high memory consumption. This leads to a localized Denial of Service (DoS). Default Red Hat process sandboxing limits system-wide impact, though application workers extracting text remain susceptible to resource exhaustion.
Меры по смягчению последствий
Enforce application-level timeouts and memory limits on worker processes that execute PDF text extraction. Alternatively, avoid calling PageObject.extract_text() or PageObject.extract_xform_text() on untrusted PDF documents.
Затронутые пакеты
| Платформа | Пакет | Состояние | Рекомендация | Релиз |
|---|---|---|---|---|
| Exploit Intelligence | exploit-intelligence-tech-preview/vulnerability-analysis-rhel9 | Out of support scope | ||
| Lightspeed Core | lightspeed-core/lightspeed-stack-rhel9 | Fix deferred | ||
| Lightspeed Core | lightspeed-core/rag-tool-cpu-rhel9 | Fix deferred | ||
| Lightspeed Core | lightspeed-core/rag-tool-cuda-12.9-rhel9 | Fix deferred | ||
| OpenShift Lightspeed | openshift-lightspeed/lightspeed-ocp-rag-rhel9 | Fix deferred | ||
| OpenShift Lightspeed | openshift-lightspeed-tech-preview/lightspeed-rag-tool-rhel9 | Fix deferred | ||
| Red Hat Ansible Automation Platform 2 | ansible-automation-platform-25/lightspeed-chatbot-rhel8 | Out of support scope | ||
| Red Hat Enterprise Linux AI (RHEL AI) 3 | rhelai3/bootc-cuda-rhel9 | Fix deferred | ||
| Red Hat Enterprise Linux AI (RHEL AI) 3 | rhelai3/bootc-gaudi-rhel9 | Fix deferred | ||
| Red Hat Enterprise Linux AI (RHEL AI) 3 | rhelai3/bootc-rocm-rhel9 | Fix deferred |
Показывать по
Ссылки на источники
Дополнительная информация
Статус:
5.5 Medium
CVSS3
Связанные уязвимости
(pypdf is a free and open-source pure-python PDF library. Prior to 6.16 ...)
pypdf is a free and open-source pure-python PDF library. Prior to 6.16.1, an attacker can craft a PDF that causes pypdf/_page.py PageObject._extract_text and PageObject.extract_xform_text to traverse a directed acyclic graph of reused form XObjects in which each form invokes a child multiple times, creating exponentially many traversal paths and causing long runtimes and large memory consumption. This issue is fixed in version 6.16.1.
pypdf is a free and open-source pure-python PDF library. Prior to 6.16 ...
pypdf: Possible long runtimes/large memory usage when extracting XForm objects
Уязвимость функций PageObject._extract_text() и PageObject.extract_xform_text() библиотеки Python для работы с PDF файлами PyPDF, позволяющая нарушителю вызвать отказ в обслуживании
5.5 Medium
CVSS3