CVE-2026-84309
ŚrednieCVSS 6.9Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 3 - wyżej niż 3% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Ryzyko polega na możliwości zawieszenia aplikacji korzystającej z pypdf podczas przetwarzania złośliwego pliku PDF, co może prowadzić do odmowy usługi.
Rekomendacja
Zaktualizuj pypdf do wersji 6.16.0 lub nowszej.
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-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.
- CVE-2026-57204Średnie
Biblioteka pypdf przed wersją 6.13.3 zawiera podatność na atak DoS. Specjalnie spreparowany plik PDF może spowodować nadmierne zużycie pamięci, ponieważ stała MAX_DECLARED_STREAM_LENGTH jest czasami ignorowana podczas parsowania strumienia treści bez wartości /Length.
Oryginalny opis (angielski, źródło NVD)
pypdf is a free and open-source pure-python PDF library. Prior to 6.16.0, an attacker can craft a PDF whose cyclic tree structure causes pypdf/generic/_data_structures.py TreeObject.insert_child to follow /Next links indefinitely when a writing code path inserts a child, producing an infinite loop. This issue is fixed in version 6.16.0.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

