Code injection in Stirling-PDF via H2 database import
Key facts
- Attack vector
- Network
- Privileges required
- High
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Code execution
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA. Impact type from CWE-94.
Summary
Stirling-PDF before 2.13.2 has a code injection flaw (CWE-94) in its database import. The SQL check in DatabaseService.validateSqlContent() uses an insufficient whitelist, so dangerous H2 functions pass and run when a crafted SQL file is imported. An authenticated administrator using the default H2 database and security mode can read arbitrary files and, through a demonstrated chain, execute operating system commands as the JVM service account.
Written with Claude Haiku 5.5 from the sources below · 2026-10-28
Description from the CNA
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| Stirling-Tools | Stirling-PDF | before 2.13.2 | 2.13.2 | Patch available | CNA |
- Stirling-PDF VendorStirling-Tools Affected before 2.13.2 Fixed in 2.13.2 Patch available CNA
Remediation
Upgrade Stirling-PDF to version 2.13.2, which fixes this issue.
Written with Claude Haiku 5.5 from the sources below · 2026-10-28
- Fix · CNA Stirling-PDF (Stirling-Tools) Fixed in 2.13.2
Timeline
- 2026-10-15 Threatist record created from CVE-2026-85714
- 2026-10-16 CISA SSVC decision points changed
- 2026-10-16 Priority changed: MEDIUM → HIGH
- 2026-10-23 EPSS moved to the 50th–90th percentile
References
Other 4
- https://github.com/Stirling-Tools/Stirling-PDF/security/advisories/GHSA-mrr8-934j-4g8m
- https://github.com/Stirling-Tools/Stirling-PDF/pull/6796
- https://github.com/Stirling-Tools/Stirling-PDF/commit/d06d3cabaf5b8a7dcd0dbfc584828d8e687e5dd5
- https://github.com/Stirling-Tools/Stirling-PDF/releases/tag/v2.13.2
More Stirling-Tools vulnerabilities
- TI-2025-34843 Stirling-PDF SSRF vulnerability on /api/v1/convert/markdown/pdf CVSS 3.1CRITICAL 9.8
- TI-2025-34834 Stirling-PDF SSRF vulnerability on /api/v1/convert/file/pdf CVSS 3.1CRITICAL 9.8
- TI-2025-34833 Stirling-PDF SSRF vulnerability on /api/v1/convert/html/pdf CVSS 3.1CRITICAL 9.8
- TI-2025-29281 Stirling-PDF Server-Side Request Forgery (SSRF)-Induced Arbitrary File Read Vulnerability CVSS 4.0HIGH 7.7
- TI-2026-76934 Stirling-PDF H2 SQL denylist bypass allows Java method execution CVSS 4.0HIGH 8.6
- TI-2026-41398 Stirling-PDF: Internal Service Account API Key Disclosure via Pipeline Endpoint CVSS 3.1HIGH 8.5
Sources
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences