CVE-2026-102994
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 21 - wyżej niż 21% wszystkich znanych CVE
Streszczenie
pypdf to darmowa i otwartoźródłowa biblioteka PDF w czystym Pythonie. W wersjach przed 6.18.0 spreparowany plik PDF zawierający identyfikatory obiektów pośrednich lub tokeny numeru generacji, które ciągną się długo bez białych znaków, może spowodować, że pypdf/_reader.py i pypdf/generic/_base.py będą skanować nadmierne dane wejściowe przez read_until_whitespace, co prowadzi do długiego czasu działania i niedostępności aplikacji. Problem został naprawiony w wersji 6.18.0.
Ocena ryzyka
Atakujący może dostarczyć spreparowany plik PDF, który spowoduje zawieszenie lub niedostępność aplikacji przetwarzającej pliki PDF, prowadząc do odmowy usługi.
Rekomendacja
Zaktualizuj bibliotekę pypdf do wersji 6.18.0 lub nowszej.
Inne podatności w pypdf
Zobacz wszystkie- CVE-2026-103000Wysokie
pypdf to darmowa biblioteka PDF w czystym Pythonie. Przed wersją 6.19.0 spreparowany plik PDF może zawierać nietypowo duże wartości etykiet stron alfabetycznych, powodując generowanie ciągów znaków przekraczających rozsądną długość etykiety strony w pypdf/_page_labels.py, gdy aplikacja pobiera etykiety stron dokumentu, zużywając nadmierną pamięć i potencjalnie czyniąc aplikację niedostępną. Problem został naprawiony w wersji 6.19.0.
- CVE-2026-102999Wysokie
pypdf to darmowa biblioteka PDF w czystym Pythonie. Przed wersją 6.19.0 spreparowany plik PDF zawierający wiele osadzonych plików może powodować, że słownikowe API załączników w pypdf/_doc_common.py ponownie przetwarza pełną listę załączników przy każdym wyszukiwaniu zawartości, generując powtarzalną pracę i długie czasy działania, gdy aplikacja uzyskuje dostęp do mapowania osadzonych plików. Problem został naprawiony w wersji 6.19.0.
- CVE-2026-102998Wysokie
pypdf to darmowa biblioteka PDF w czystym Pythonie. Przed wersją 6.19.0 spreparowany plik PDF z wartościami pól formularza może powodować, że generowanie strumienia wyglądu w pypdf/generic/_appearance_stream.py powtarza niezmienną pracę związaną z danymi wyboru w pętli, gdy aplikacja aktualizuje pola z włączonym spłaszczaniem, co skutkuje nadmiernymi czasami działania i niedostępnością aplikacji. Problem został naprawiony w wersji 6.19.0.
- CVE-2026-102997Wysokie
pypdf to darmowa biblioteka PDF w czystym Pythonie. Przed wersją 6.18.1 spreparowany plik PDF zawierający częściowo uszkodzony strumień /FlateDecode z danymi wypełniającymi może wymusić na pypdf/filters.py nieefektywną dekompresję bajt po bajcie, podczas gdy wcześniejszy licznik odzyskiwania nie przesuwa się dla bajtów, które pomyślnie się zdekodowały, powodując długie czasy działania i niedostępność aplikacji. Jest to problem resztkowy po poprawce odzyskiwania uszkodzonego FlateDecode. Problem został naprawiony w wersji 6.18.1.
- CVE-2026-102996Wysokie
pypdf to darmowa biblioteka PDF w czystym Pythonie. Przed wersją 6.18.1 spreparowany plik PDF może zawierać prostą czcionkę TrueType lub Type1 z nietypowo dużą tablicą /Widths, powodując, że pypdf/_font.py Font._collect_tt_t1_character_widths przetwarza wpisy poza 256 kodami znaków istotnymi dla prostej czcionki i zużywa nadmierną pamięć podczas operacji takich jak ekstrakcja tekstu. Problem został naprawiony w wersji 6.18.1.
- CVE-2026-102995Wysokie
pypdf to darmowa biblioteka PDF w czystym Pythonie. Przed wersją 6.18.1, specjalnie spreparowany plik PDF może umieścić niezwykle duże tokeny w mapowaniu /ToUnicode czcionki, powodując, że funkcja parse_bfchar w pypdf/_cmap.py dekoduje i przechowuje zbyt duże wartości podczas operacji takich jak ekstrakcja tekstu, co prowadzi do nadmiernego zużycia pamięci. Jest to drugie uzupełnienie wcześniejszych poprawek dotyczących zużycia zasobów /ToUnicode i ogranicza się do pozostałej ścieżki długości tokenu. Problem został naprawiony w wersji 6.18.1.
- CVE-2026-102993Wysokie
pypdf to darmowa i otwartoźródłowa biblioteka PDF w czystym Pythonie. W wersjach przed 6.17.0 spreparowany plik PDF może zawierać nietypowo duże wartości rzymskich etykiet stron, które powodują, że pypdf/_page_labels.py generuje nadmiernie duże ciągi liczbowe, gdy aplikacja pobiera etykiety stron dokumentu, zużywając duże ilości pamięci i potencjalnie czyniąc aplikację niedostępną. Problem został naprawiony w wersji 6.17.0.
- CVE-2026-84311Niskie
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-84310Niskie
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.
Oryginalny opis (angielski, źródło NVD)
pypdf is a free and open-source pure-python PDF library. Prior to 6.18.0, a crafted PDF containing indirect-object identifiers or generation-number tokens that continue for a long time without whitespace can cause pypdf/_reader.py and pypdf/generic/_base.py to scan excessive input through read_until_whitespace, resulting in long runtimes and application unavailability. This issue is fixed in version 6.18.0.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

