CVE-2026-102995
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 28 - wyżej niż 28% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Atakujący może spowodować nadmierne zużycie pamięci (odmowa usługi) podczas przetwarzania złośliwego pliku PDF, co może zakłócić działanie aplikacji korzystających z pypdf.
Rekomendacja
Zaktualizuj pypdf do wersji 6.18.1 lub nowszej, aby wyeliminować podatność.
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.1, a crafted PDF can place unusually large source-code or destination-string tokens in a font /ToUnicode mapping, causing pypdf/_cmap.py parse_bfchar to decode and retain oversized values during operations such as text extraction and consume excessive memory. This is a second follow-up to earlier /ToUnicode resource-consumption fixes and is limited to the remaining token-length path. This issue is fixed in version 6.18.1.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

