CVE-2026-102994
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 28 - wyżej niż 28% 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-119209Średnie
pypdf przed wersją 6.21.3 może zużywać nadmierną pamięć podczas otwierania spreparowanego pliku PDF zawierającego strumienie cross-reference deklarujące bardzo duże liczby wpisów. Wysoce kompresowalne strumienie i łańcuchy /Prev mogą zwielokrotnić liczbę parsowanych wpisów, a ujemne wartości /Index omijają istniejące ograniczenie.
- CVE-2026-119208Średnie
pypdf przed wersją 6.21.3 może zużywać nadmierny czas i pamięć, gdy aplikacja odczytuje liczbę stron spreparowanego zaszyfrowanego pliku PDF, którego drzewo stron deklaruje sfałszowaną wartość /Count. Nawet po odszyfrowaniu liczba stron jest brana z niezweryfikowanej deklaracji zamiast z przejścia drzewa stron.
- CVE-2026-119207Średnie
pypdf przed wersją 6.21.3 może zużywać nadmierną pamięć, gdy tryb strict ładuje spreparowany nieprawidłowy słownik PDF. Zagnieżdżone błędy parsowania dodają powtarzający się tekst wyjątków do nowych błędów, przez co mały złośliwy słownik może rozrosnąć się do bardzo dużych komunikatów.
- CVE-2026-119206Średnie
pypdf przed wersją 6.21.3 może potrzebować nadmiernego czasu na pobranie etykiet stron ze spreparowanego pliku PDF zawierającego płaskie drzewo numerów etykiet z wieloma zakresami. Właściwość page_labels przetwarza każdą stronę niezależnie i wielokrotnie skanuje tę samą tablicę /Nums od początku.
- CVE-2026-119205Średnie
pypdf przed wersją 6.21.4 może wejść w nieskończoną pętlę podczas klonowania lub duplikowania spreparowanego cyklicznego DictionaryObject. Przejście klonowania sprawdzało wygenerowane referencje docelowe zamiast oryginalnych referencji źródłowych, co pozwalało niektórym cyklom źródłowym ominąć kontrolę odwiedzonych obiektów.
- CVE-2026-119204Średnie
pypdf przed wersją 6.21.4 może zużywać nadmierną pamięć podczas parsowania spreparowanego drzewa stron PDF zawierającego wiele współdzielonych zasobów. Spłaszczanie drzewa stron kopiuje wpisy słownika stron i dziedziczonych zasobów bez ogólnego limitu wpisów, co powoduje nieproporcjonalne alokacje.
- CVE-2026-119203Średnie
Biblioteka pypdf przed wersją 6.21.4 może wejść w nieskończoną pętlę podczas otwierania spreparowanego, niekompletnego pliku PDF, którego tablica referencji krzyżowych sięga końca pliku bez sekcji trailer. Wyszukiwanie trailera może wielokrotnie przewijać do tej samej pozycji strumienia zamiast zakończyć się, blokując wątek przetwarzający.
- CVE-2026-115585Wysokie
W bibliotece pypdf przed wersją 6.21.2 niekompletne rozwiązanie problemu powtarzających się błędnych wpisów w tablicy referencji krzyżowych (GHSA-55h5-xmcq-c37v) mogło nadal powodować pełne przeładowanie strumienia PDF przy każdej próbie odzyskiwania, nawet gdy dostępny był cache odzyskiwania, co prowadziło do długiego czasu działania przy spreparowanych strumieniach referencji krzyżowych. Problem naprawiono w wersji 6.21.2.
- CVE-2026-115580Wysokie
W bibliotece pypdf przed wersją 6.21.2 atakujący może spreparować plik PDF ze standardową tablicą referencji krzyżowych, której zadeklarowana liczba wpisów przekracza to, co plik może zawierać, powodując nadmierne przetwarzanie i długi czas działania przy otwieraniu pliku. Problem naprawiono w wersji 6.21.2.
- CVE-2026-115572Wysokie
Biblioteka pypdf przed wersją 6.21.2 jest podatna na atak, w którym spreparowany plik PDF wielokrotnie odwołuje się do tego samego nieistniejącego obiektu pośredniego. Powoduje to powtarzające się pełne odzyskiwanie pliku i długi czas działania przy dostępie do takich elementów jak strony. Problem naprawiono w wersji 6.21.2.
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

