CVE-2025-68616
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 39 - wyżej niż 39% wszystkich znanych CVE
Streszczenie
W WeasyPrint przed wersją 68.0 wykryto obejście ochrony przed SSRF w domyślnym `default_url_fetcher`. Nawet jeśli programista zaimplementował własny `url_fetcher` blokujący dostęp do wewnętrznych zasobów, atakujący może ominąć tę ochronę, ponieważ biblioteka `urllib` automatycznie podąża za przekierowaniami HTTP bez ponownej walidacji nowego celu względem polityki bezpieczeństwa.
Ocena ryzyka
Ryzyko polega na możliwości uzyskania dostępu do wewnętrznych usług sieciowych (np. localhost, endpointy metadanych chmury), co może prowadzić do wycieku wrażliwych danych lub dalszej kompromitacji infrastruktury.
Rekomendacja
Należy niezwłocznie zaktualizować WeasyPrint do wersji 68.0 lub nowszej, która zawiera poprawkę eliminującą to obejście ochrony SSRF.
Inne podatności w WeasyPrint
Zobacz wszystkie- CVE-2026-55073Średnie
W WeasyPrint przed wersją 70.0, aplikacje serwerowe, które konfigurują restrykcyjny url_fetcher i przekazują wartości kontrolowane przez atakującego do HTML.write_pdf(), mogą ominąć to ograniczenie poprzez opcje xmp_metadata lub stylesheets. W weasyprint/pdf/init.py, xmp_metadata wywołuje select_source() bez url_fetcher dokumentu, co pozwala na odczyt dostępnego lokalnego pliku i osadzenie go w wynikowym PDF. W weasyprint/document.py, stylesheets konstruuje CSS() bez url_fetcher dokumentu, co pozwala na ładowanie lokalnych lub wewnętrznych zasobów i propagowanie permisywnego fetchera przez zagnieżdżone importy CSS i odwołania url(). Kanał stylesheets stosuje pobrane zasoby, ale sam nie ujawnia komentarzy arkuszy stylów.
- CVE-2026-49452Średnie
WeasyPrint przed wersją 69.0 osadza nieucieczone wartości atrybutów HTML jako wskazówki prezentacyjne w CSS w weasyprint/css/__init__.py, gdy presentational_hints=True. Atrybut background jest wstawiany do deklaracji background-image:url() i parsowany przez tinycss2.parse_blocks_contents(), co pozwala niezaufanemu HTML na wstrzyknięcie dodatkowych deklaracji CSS. Aplikacje renderujące niezaufany HTML z włączonymi wskazówkami prezentacyjnymi mogą być podatne na wstrzyknięcie CSS i żądania po stronie serwera przez wstrzyknięte wartości url().
Oryginalny opis (angielski, źródło NVD)
WeasyPrint helps web developers to create PDF documents. Prior to version 68.0, a server-side request forgery (SSRF) protection bypass exists in WeasyPrint's `default_url_fetcher`. The vulnerability allows attackers to access internal network resources (such as `localhost` services or cloud metadata endpoints) even when a developer has implemented a custom `url_fetcher` to block such access. This occurs because the underlying `urllib` library follows HTTP redirects automatically without re-validating the new destination against the developer's security policy. Version 68.0 contains a patch for the issue.

