CVE-2026-102993
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.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.
Ocena ryzyka
Atakujący może dostarczyć spreparowany plik PDF, który spowoduje wyczerpanie pamięci i niedostępność aplikacji przetwarzającej pliki PDF, prowadząc do odmowy usługi.
Rekomendacja
Zaktualizuj bibliotekę pypdf do wersji 6.17.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-102994Wysokie
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.
- 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.17.0, a crafted PDF can provide unusually large Roman page-label values that cause pypdf/_page_labels.py to generate excessively large numeral strings when an application retrieves document page labels, consuming large amounts of memory and potentially making the application unavailable. This issue is fixed in version 6.17.0.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

