CVE-2026-82035
WysokieCVSS 7.1Streszczenie
PyMuPDF do wersji 1.28.2 zawiera podatność path traversal w gałęzi obsługi czcionek funkcji extract_objects() w pliku src/__main__.py. Nazwa pliku wyjściowego jest tworzona przez połączenie nazwy BaseFont kontrolowanej przez dokument z katalogiem wyjściowym podanym przez użytkownika, bez usuwania separatorów ścieżek ani sekwencji ../. Atakujący może dostarczyć spreparowany plik PDF, EPUB, XPS lub FB2 z nazwą BaseFont zawierającą zakodowane separatory ścieżek, co prowadzi do zapisu dowolnych plików poza docelowym katalogiem.
Ocena ryzyka
Podatność pozwala nieuwierzytelnionemu atakującemu na zapis plików w dowolnych lokalizacjach w systemie plików, co może prowadzić do nadpisania plików konfiguracyjnych lub wykonania kodu. Ryzyko jest wysokie w środowiskach przetwarzających niezaufane dokumenty.
Rekomendacja
Zaktualizuj PyMuPDF do wersji zawierającej poprawkę z commita b2c8f3a. Do czasu aktualizacji unikaj przetwarzania niezaufanych plików PDF, EPUB, XPS i FB2 oraz ogranicz uprawnienia zapisu procesu.
Inne podatności w PyMuPDF
Oryginalny opis (angielski, źródło NVD)
PyMuPDF through 1.28.2, fixed in commit b2c8f3a, contains a path traversal vulnerability in the font branch of extract_objects() in src/__main__.py, where the output filename is constructed by joining a document-controlled BaseFont name directly onto the user-supplied output directory without stripping path separators or dot-dot sequences. Attackers can supply a crafted PDF, EPUB, XPS, or FB2 file with a BaseFont name containing encoded path separators that decode to ../ sequences or absolute paths, causing arbitrary file writes outside the intended output directory without requiring authentication or elevated privileges.

