CVE-2026-71852
NiskieCVSS 3.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 7 - wyżej niż 7% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Ryzyko polega na możliwości przeprowadzenia ataku DoS na aplikacje korzystające z pypdf, poprzez wysłanie złośliwego pliku PDF, co może prowadzić do wyczerpania zasobów.
Rekomendacja
Zaleca się aktualizację biblioteki pypdf do wersji 6.15.0 lub nowszej oraz walidację przetwarzanych plików PDF.
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-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.
Oryginalny opis (angielski, źródło NVD)
pypdf is a free and open-source pure-python PDF library. Prior to 6.15.0, a crafted PDF can cause long runtimes and large memory consumption when pypdf/_font.py function Font._collect_cid_character_widths expands unusually large CID font /W width ranges or excessive width entries during text extraction. This issue is fixed in 6.15.0.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

