CVE-2026-59941
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 41 - wyżej niż 41% wszystkich znanych CVE
Streszczenie
W Dompdf w wersjach 3.15 i wcześniejszych, akceptowany jest obraz BMP, a następnie generowany jest kompatybilny z PDF PNG tylko na podstawie zadeklarowanych wymiarów w nagłówku, bez ograniczenia szerokości × wysokości przed konwersją przez GD. Mały plik BMP (58 bajtów) z nagłówkiem deklarującym np. 6000×6000 powoduje alokację pełnej płótna pikseli, prowadząc do znacznego wzrostu zużycia pamięci (nawet 12-krotnego). Problem rozwiązano w wersji 3.16.
Ocena ryzyka
Nieuwierzytelniony atakujący może wielokrotnie wysyłać małe żądania HTTP, powodując znaczne obciążenie pamięci i CPU serwera, co może prowadzić do DoS lub wyczerpania zasobów.
Rekomendacja
Należy zaktualizować Dompdf do wersji 3.16 lub nowszej.
Inne podatności w Dompdf
Zobacz wszystkie- CVE-2026-59943Średnie
W Dompdf w wersjach 3.15 i wcześniejszych, jeśli atakujący może dostarczyć nieograniczoną treść do renderowania, może wykorzystać funkcję renderowania SVG do wycieku informacji o systemie plików. Używając elementu <image> w osadzonym SVG z data-URI, atakujący może próbować osadzić inne pliki. Różnica w zachowaniu przy dostępie do istniejących i nieistniejących plików umożliwia wyciek. Problem rozwiązano w wersji 3.16.
- CVE-2026-59942Wysokie
W Dompdf w wersjach 3.15 i wcześniejszych istnieje podatność na atak DoS przez wyczerpanie zasobów. Atakujący może przesłać specjalnie spreparowany dokument HTML z pojedynczym obrazem o ogromnych wymiarach (np. 30 000x30 000 pikseli), co powoduje alokację dużych ilości pamięci i czasu CPU. Problem rozwiązano w wersji 3.16.
- CVE-2026-56722Średnie
Dompdf w wersjach 3.15 i wcześniejszych pozwala atakującemu kontrolującemu wejście HTML na ominięcie ograniczeń poprzez osadzenie ścieżki pliku w obrazie SVG dostarczonym przez URI data:. Podczas przetwarzania SVG drugi przebieg nie egzekwuje tych samych zabezpieczeń co pierwszy, co prowadzi do odczytu dowolnych plików obrazów z systemu plików serwera.
- CVE-2026-55555Wysokie
Dompdf w wersjach 3.15 i wcześniejszych jest podatny na atak typu File Existence Oracle przez manipulację dyrektywą CSS @font-face. Atakujący może wykorzystać różnicę w zachowaniu przy odwołaniach do istniejących i nieistniejących plików lokalnych (przez protokół file://) jako wyrocznię do enumeracji plików na serwerze, nawet przy ograniczeniach CHROOT. Problem został naprawiony w wersji 3.16.
- CVE-2026-55554Wysokie
W Dompdf w wersjach 3.15 i wcześniejszych metoda validateLocalUri() sprawdza ograniczenia CHROOT przez porównanie prefiksu po normalizacji ścieżki. Ponieważ normalizacja usuwa końcowy separator katalogu, sprawdzenie może zostać obejście, np. katalog /var/www pasuje również do /var/www2. Atakujący kontrolujący część renderowanego HTML może odczytać pliki poza dozwolonym katalogiem. Problem został naprawiony w wersji 3.16.
Oryginalny opis (angielski, źródło NVD)
Dompdf is an HTML to PDF converter for PHP. Versions 3.15 and prior accept a BMP image and generates a PDF-compatible PNG based only on its declared header dimensions and never bounds width × height before the image is converted through GD. A 58-byte BMP whose header declares e.g. 6000×6000 is accepted and later drives imagecreatetruecolor($width, $height) (and PHP's native BMP decoder) to allocate the full pixel canvas. A payload can fit in a single HTTP request: the BMP can be inlined as a data:image/bmp;base64,… URI inside attacker-controlled HTML, so no upload, no remote fetch, and no chroot-reachable file is required. I measured a 169-byte request driving a dompdf render to ~412 MB peak RSS and ~4.8 s of CPU/wall time, versus ~34 MB for an identically-sized benign request — roughly a 12× memory amplification per request, repeatable and unauthenticated. This issue has been fixed in version 3.16.

