Katalog CVE

CVE-2026-85714

KrytyczneCVSS 9.1
Opublikowano: Przetłumaczono: NVD NIST

Streszczenie

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.

Ocena ryzyka

Podatność pozwala uwierzytelnionemu administratorowi na wykonanie dowolnego kodu w kontekście konta usługi JVM, co może prowadzić do pełnego przejęcia serwera. Stanowi to krytyczne ryzyko dla poufności, integralności i dostępności.

Rekomendacja

Należy niezwłocznie zaktualizować Stirling-PDF do wersji 2.13.2 lub nowszej. Do czasu aktualizacji zaleca się ograniczenie uprawnień administratora oraz monitorowanie nietypowych operacji importu bazy danych.

Inne podatności w Stirling-PDF

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

Stirling-PDF is a locally hosted web application that facilitates various operations on PDF files. Prior to 2.13.2, an authenticated administrator using the default H2 database and security mode can upload a crafted SQL file to POST /api/v1/database/import-database. DatabaseService.validateSqlContent() splits normalized input on semicolons and accepts a statement when it contains any allowed keyword, allowing dangerous H2 functions such as FILE_READ and CSVWRITE, plus CREATE ALIAS, to bypass the insufficient whitelist and execute side effects when RUNSCRIPT processes the file. This permits arbitrary file access. The demonstrated operating-system command execution chain writes attacker-controlled startup files to a user-site location and then triggers an application Python interpreter configured to load those startup files, resulting in command execution as the JVM service account. This issue is fixed in version 2.13.2.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS