Podatności WeasyPrint
3 znanych podatności CVE w WeasyPrint, przetłumaczonych i ocenionych.
- 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().
- CVE-2025-68616Wysokie
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.

