CVE-2026-102993
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.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-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.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

