Description
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.
Published: 2026-10-14
Score: 9.1 Critical
EPSS: 3.4% Low
KEV: No
Impact: Remote Code Execution
Action: Apply Patch
AI Analysis

Impact

An authenticated administrator using Stirling‑PDF’s default H2 database can upload a crafted SQL file through the /api/v1/database/import-database endpoint. The application’s validation routine accepts statements containing a host of H2 keywords, allowing dangerous functions such as FILE_READ, CSVWRITE and CREATE ALIAS to be executed by the RUNSCRIPT command. This flaw enables an attacker to read arbitrary files and write attacker‑controlled startup files that the Python interpreter loads at startup, resulting in operating‑system command execution as the JVM service account.

Affected Systems

The vulnerability affects all installations of Stirling‑PDF released before version 2.13.2, regardless of additional configuration, and is exclusive to the default H2 database configuration used by the authenticated administrator account.

Risk and Exploitability

With a CVSS score of 9.1 the flaw is considered critical. The EPSS score of 3% indicates a modest probability of exploitation, and the vulnerability is not listed in the CISA KEV catalog. Exploit requires network access to the web API and an authenticated administrator session; once authenticated, the attacker can trigger the RCE via the import-database endpoint by uploading a malicious SQL file.

Generated by OpenCVE AI on October 25, 2026 at 19:52 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade Stirling‑PDF to version 2.13.2 or later to apply the vendor fix.
  • Disable or restrict the /api/v1/database/import-database endpoint so that only trusted administrators can use it and consider removing the default H2 database configuration.
  • Implement strict input validation on uploaded SQL files, rejecting statements that use dangerous H2 functions such as FILE_READ, CSVWRITE, and CREATE ALIAS.

Generated by OpenCVE AI on October 25, 2026 at 19:52 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 15 Oct 2026 19:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Wed, 14 Oct 2026 18:45:00 +0000

Type Values Removed Values Added
Description 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.
Title Stirling-PDF: Remote Code Execution via H2
Weaknesses CWE-94
References
Metrics cvssV3_1

{'score': 9.1, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-15T18:53:52.190Z

Reserved: 2026-09-04T14:45:10.647Z

Link: CVE-2026-85714

cve-icon Vulnrichment

Updated: 2026-10-15T18:53:43.762Z

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-10-14T19:17:22.050

Modified: 2026-10-16T16:00:33.533

Link: CVE-2026-85714

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-25T20:00:16Z

Weaknesses
  • CWE-94

    Improper Control of Generation of Code ('Code Injection')