CVE-2026-113605
WysokieCVSS 7.2Streszczenie
W Stirling-PDF od wersji 2.13.2 do 3.2.0 występuje niekompletna lista blokad w DatabaseService.validateSqlContent(), pozwalająca administratorom obejść ograniczenia importu H2 za pomocą CREATE OR REPLACE ALIAS. Uwierzytelnieni administratorzy mogą przesłać spreparowaną kopię SQL do endpointu import-database, gdzie RUNSCRIPT definiuje aliasy funkcji Java H2 i przywraca wykonywanie metod Java.
Ocena ryzyka
Administrator może obejść ograniczenia i przywrócić wykonywanie kodu Java w bazie H2, co może prowadzić do wykonania kodu w kontekście aplikacji.
Rekomendacja
Zaktualizuj Stirling-PDF do wersji nowszej niż 3.2.0, która zawiera poprawkę.
Inne podatności w Stirling-PDF
Zobacz wszystkie- CVE-2026-85714Krytyczne
W Stirling-PDF przed wersją 2.13.2 uwierzytelniony administrator korzystający z domyślnej bazy H2 i trybu bezpieczeństwa może przesłać spreparowany plik SQL do POST /api/v1/database/import-database. Funkcja DatabaseService.validateSqlContent() dzieli znormalizowane dane wejściowe po średnikach i akceptuje instrukcję, jeśli zawiera dowolne dozwolone słowo kluczowe, co pozwala na obejście niewystarczającej białej listy przez niebezpieczne funkcje H2, takie jak FILE_READ i CSVWRITE, oraz CREATE ALIAS, i wykonanie efektów ubocznych podczas przetwarzania pliku przez RUNSCRIPT. Umożliwia to dowolny dostęp do plików. Zademonstrowany łańcuch wykonania poleceń systemu operacyjnego zapisuje kontrolowane przez atakującego pliki startowe w lokalizacji użytkownika, a następnie uruchamia interpreter Pythona aplikacji skonfigurowany do ładowania tych plików, co skutkuje wykonaniem poleceń jako konto usługi JVM.
- CVE-2026-119343Średnie
W Stirling-PDF przed wersją 3.0.0 endpoint POST /api/v1/ai/tools/create-pdf-from-html-agent przyjmuje kontrolowaną przez atakującego zawartość htmlContent i przekazuje ją do WeasyPrint bez sanityzacji CustomHtmlSanitizer, w przeciwieństwie do chronionej ścieżki /api/v1/convert/html/pdf. Odwołania do zasobów HTTP/HTTPS mogą powodować żądania po stronie serwera do celów wewnętrznych lub metadanych chmury, a odwołania do plików mogą osadzić lokalną zawartość w wygenerowanym PDF. Endpoint jest dostępny bez uwierzytelnienia, gdy security.enableLogin ma wartość false.
- CVE-2026-119342Średnie
W Stirling-PDF od wersji 2.13.1 do 2.13.2 endpoint POST /api/v1/convert/svg/pdf renderuje dostarczony przez atakującego SVG przez Apache Batik, a odwołanie do obrazu z ścieżką względną bez schematu omija SvgSanitizer.isExternalUrl(), zanim Batik rozwiąże je względem bazy dokumentu file:///input.svg jako lokalny plik. Ścieżki convert() i addSvgAsPage() w SvgToPdf.java mogą następnie wyrenderować dekodowalne obrazy z plików serwera do zwróconego PDF, gdy sanityzacja jest włączona, w tym bez uwierzytelnienia w przypadku wdrożeń z wyłączonym logowaniem lub z dostępem nieadministratora, gdy logowanie jest włączone. Podatność ujawnia zawartość PNG, JPG, GIF lub SVG i zapewnia wyrocznię istnienia tylko dla ścieżek dekodowalnych jako obrazy.
- CVE-2026-113606Wysokie
W Stirling-PDF od wersji 3.0.0 do 3.2.0 występuje obejście autoryzacji, które pozwala uwierzytelnionym użytkownikom uzyskać dostęp do plików innych użytkowników poprzez wskazanie folderu przetwarzania na katalog przechowywania serwera. Atakujący może utworzyć folder przez POST /api/v1/processing-folders wskazujący storage/<victimUserId>, wylistować pliki i uruchomić pipeline'y, aby czytać, modyfikować lub niszczyć pliki ofiar.
- CVE-2026-57485Wysokie
Stirling-PDF to lokalnie hostowana aplikacja webowa do operacji na plikach PDF. Przed wersją 2.9.0, endpoint /api/v1/pipeline/handleData wstrzykuje klucz API STIRLING-PDF-BACKEND-API-USER do podzapytań pipeline, co pozwala uwierzytelnionemu użytkownikowi z rolą ROLE_USER na odzyskanie klucza przez /api/v1/user/get-api-key, podszywanie się pod wewnętrzne konto usługowe, ominięcie limitów szybkości i dostęp do wewnętrznych endpointów. Problem naprawiono w wersji 2.9.0.
- CVE-2026-33437Wysokie
Stirling-PDF przed wersją 2.0.0 ma podatność na przechowywany XSS w workflow Get Info w pliku app/core/src/main/resources/templates/security/get-info-on-pdf.html. Niezaufane metadane Title i Author z PDF są wstawiane do elementu summary-text przez innerHTML, co pozwala złośliwemu PDF na wykonanie skryptu po kliknięciu Get Info i dostęp do danych sesji przeglądarki lub modyfikację zawartości strony. Problem naprawiono w wersji 2.0.0.
- CVE-2026-71270Wysokie
Endpoint POST /api/v1/convert/url/pdf w Stirling-PDF (ConvertWebsiteToPDF.java) nie został zaktualizowany o zabezpieczenia CustomHtmlSanitizer/SsrfProtectionService, które dodano do trzech pokrewnych endpointów konwersji (html/pdf, file/pdf, markdown/pdf).
- CVE-2026-41580Średnie
Podatność w Stirling-PDF przed wersją 2.0.0 umożliwiała wstrzyknięcie kodu JavaScript przez pola metadanych tytułu i autora PDF. Atakujący może przygotować złośliwy plik PDF, który po wyświetleniu informacji o nim w interfejsie webowym wykonuje kod w przeglądarce ofiary.
- CVE-2026-33436Niskie
Stirling-PDF w wersjach przed 2.0.0 renderuje nazwy plików dostarczone przez użytkownika bezpośrednio do HTML przy użyciu niebezpiecznych metod, takich jak innerHTML, bez sanityzacji. Atakujący może spreparować plik o złośliwej nazwie zawierającej JavaScript, który wykona się w kontekście przeglądarki użytkownika przesyłającego plik, powodując odbity XSS na wielu punktach końcowych przesyłania.
Oryginalny opis (angielski, źródło NVD)
Stirling-PDF from 2.13.2 through 3.2.0 contains an incomplete denylist in DatabaseService.validateSqlContent() that allows administrators to bypass H2 import restrictions using CREATE OR REPLACE ALIAS. Authenticated administrators can upload a crafted SQL backup to the import-database endpoint, where RUNSCRIPT defines H2 Java function aliases and restores Java-method execution.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

