CVE-2023-36464
ŚrednieCVSS 6.2Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 26 - wyżej niż 26% wszystkich znanych CVE
Streszczenie
Biblioteka pypdf, będąca otwartym źródłem w czystym Pythonie, zawiera podatność, która może prowadzić do nieskończonej pętli podczas przetwarzania złośliwego pliku PDF. Problem ten występuje w wersjach, w których wykonano metodę `__parse_content_stream`.
Ocena ryzyka
Atakujący może wykorzystać tę podatność do zablokowania aplikacji przetwarzającej PDF, co może prowadzić do utraty dostępności usług. Organizacje powinny być świadome ryzyka związanego z przetwarzaniem nieznanych plików PDF.
Rekomendacja
Zaleca się aktualizację biblioteki pypdf do najnowszej wersji, aby usunąć tę podatność. Użytkownicy, którzy nie mogą zaktualizować, powinni wprowadzić zmiany w kodzie, aby zminimalizować ryzyko.
Inne podatności w pypdf
Zobacz wszystkie- CVE-2026-84311Średnie
W pypdf (biblioteka PDF w Pythonie) przed wersją 6.16.1, atakujący może stworzyć plik PDF, który powoduje, że PageObject._extract_text i PageObject.extract_xform_text przechodzą przez skierowany graf acykliczny ponownie użytych form XObject, w którym każda forma wywołuje dziecko wielokrotnie, tworząc wykładniczo wiele ścieżek przejścia i powodując długie czasy działania oraz duże zużycie pamięci. Problem naprawiono w wersji 6.16.1.
- CVE-2026-84310Średnie
W pypdf (biblioteka PDF w Pythonie) przed wersją 6.16.1, atakujący może stworzyć plik PDF, który powoduje, że _get_outline w _doc_common.py zużywa długie czasy działania i duże ilości pamięci podczas pobierania konspektów dokumentów z dużą liczbą wpisów lub głęboko zagnieżdżonymi ponownie używanymi ścieżkami, ponieważ przejście nie miało globalnych limitów liczby wpisów i głębokości zagnieżdżenia. Problem naprawiono w wersji 6.16.1.
- CVE-2026-84309Średnie
pypdf to darmowa biblioteka PDF w czystym Pythonie. Przed wersją 6.16.0 atakujący może stworzyć plik PDF o cyklicznej strukturze drzewa, co powoduje, że funkcja TreeObject.insert_child w pypdf/generic/_data_structures.py podąża za linkami /Next w nieskończoność podczas zapisu, prowadząc do nieskończonej pętli. Problem naprawiono w wersji 6.16.0.
- CVE-2026-82398Średnie
pypdf przed wersją 6.15.0 ma podatność na długi czas działania, gdy funkcja read_until_whitespace w pypdf/_utils.py czyta strumień zawierający długi ciąg bajtów bez białych znaków. Funkcja wielokrotnie wykonuje niezmienne łączenie bajtów w pętli jeden-bajtowej, co powoduje kwadratowy koszt przetwarzania.
- CVE-2026-71870Średnie
pypdf przed wersją 6.15.0 jest podatny na nadmierne zużycie pamięci podczas przetwarzania specjalnie spreparowanych plików PDF, gdy funkcja parse_bfrange w pliku pypdf/_cmap.py parsuje niezwykle duże tokeny w mapie /ToUnicode CMap podczas ekstrakcji tekstu. Problem został naprawiony w wersji 6.15.0.
- CVE-2026-71852Średnie
Podatność w bibliotece pypdf przed wersją 6.15.0 pozwala na długotrwałe działanie i duże zużycie pamięci podczas ekstrakcji tekstu z odpowiednio spreparowanego pliku PDF. Funkcja Font._collect_cid_character_widths rozszerza niezwykle duże zakresy szerokości CID lub nadmierną liczbę wpisów szerokości. Problem został naprawiony w wersji 6.15.0.
- CVE-2026-59936Wysokie
W bibliotece pypdf przed wersją 6.14.1 wykryto podatność polegającą na nieskończonej pętli podczas przetwarzania obrazów wbudowanych w strumieniu treści strony PDF. Atakujący może stworzyć specjalnie spreparowany plik PDF z nieprawidłowo zakończonym obrazem wbudowanym, co prowadzi do zawieszenia procesu ekstrakcji tekstu.
- CVE-2026-59935Wysokie
Biblioteka pypdf przed wersją 6.14.2 zawiera podatność na atak DoS polegający na nieskończonej pętli podczas parsowania plików PDF. Atakujący może stworzyć specjalnie spreparowany dokument PDF z niezakończonym obrazem inline używającym filtrów ASCII85 lub ASCIIHex, co prowadzi do zawieszenia procesu.
- CVE-2026-59938Średnie
W bibliotece pypdf przed wersją 6.14.0 wykryto podatność polegającą na możliwości stworzenia pliku PDF z zawyżonymi deklarowanymi rozmiarami obrazów, co prowadzi do nadmiernego zużycia pamięci podczas parsowania obrazów. Atakujący może wykorzystać ten błąd do wywołania ataku typu odmowa usługi (DoS) poprzez przeciążenie pamięci.
- CVE-2026-59937Wysokie
W bibliotece pypdf przed wersją 6.14.0 wykryto podatność polegającą na możliwości stworzenia przez atakującego pliku PDF z wieloma uszkodzonymi strumieniami odnośników krzyżowych. Powoduje to długotrwałe odtwarzanie uszkodzonych wpisów tabeli odnośników, co prowadzi do nadmiernego obciążenia procesora i wydłużenia czasu przetwarzania.
Oryginalny opis (angielski, źródło NVD)
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"")`.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

