Description
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.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Stirling-Tools Stirling-PDF
Default version status: unaffected
2.13.2 to ≤ 3.2.0affected
pkg:github/Stirling-Tools/Stirling-PDFReferences
- https://github.com/abraxas/stirling-h2-import-leftover ↗
- https://abraxaslabs.tech/research/stirling-h2-import-leftover ↗
- https://abraxaslabs.tech/research/stirling-pdf-3.2.0-leftovers ↗
- https://github.com/Stirling-Tools/Stirling-PDF/blob/v3.2.0/app/proprietary/src/main/java/stirling/software/proprietary/security/service/DatabaseService.java ↗
- https://www.vulncheck.com/advisories/stirling-pdf-2.13.2-through-3.2.0-h2-sql-denylist-bypass-via-import-database ↗