CVE-2026-113605
7.2HighPublished 20 Oct 2026 · NVD status: Received · AI triage by gemini-3.8-flash
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- High
- User interaction
- None
- Impact
- Full C/I/A compromise
- Weakness
- CWE-184
Impact
Authenticated administrators can execute arbitrary Java code on the server hosting Stirling-PDF. Exploitation requires network access and administrative credentials to upload a crafted SQL backup to the import-database endpoint.
Root cause
An incomplete denylist in DatabaseService.validateSqlContent() allows the CREATE OR REPLACE ALIAS statement to bypass SQL import checks and define executable H2 Java functions.
Affected systems
Stirling-PDF 2.13.2 through 3.2.0
CVSS v3.1 · CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H
Fix & remediation
Upgrade to a version newer than 3.2.0 once available. In the meantime, restrict access to the web interface and limit administrative role assignments.
$ docker pull frood/s-pdf:latestAI-suggested. Run it in staging first and check it against the vendor advisory. Why?
NVD 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.
References
- 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://github.com/abraxas/stirling-h2-import-leftover
- https://www.vulncheck.com/advisories/stirling-pdf-2.13.2-through-3.2.0-h2-sql-denylist-bypass-via-import-database