Ad · Leaderboard 728×90

CVE-2026-85714

9.1Critical

Published 14 Oct 2026 · NVD status: Awaiting Analysis · AI triage by gemini-3.8-flash

9.1Critical
Attack vector
Network
Complexity
Low
Privileges needed
High
User interaction
None
Impact
Full C/I/A compromise
Weakness
CWE-94

Impact

Authenticated administrators can execute arbitrary OS commands as the JVM service account and read arbitrary files on the server. They need an admin account and an instance running the default H2 database and security mode.

Root cause

DatabaseService.validateSqlContent() uses a flawed semicolon-delimited keyword whitelist that lets malicious H2 functions and aliases slip through during SQL imports.

Affected systems

Stirling-PDF versions prior to 2.13.2

CVSS v3.1 · CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H

Fix & remediation

Upgrade Stirling-PDF to version 2.13.2 or later. If upgrading immediately is not possible, restrict access to the POST /api/v1/database/import-database endpoint at your reverse proxy.

shell
$ docker pull frooodle/s-pdf:2.13.2

AI-suggested. Run it in staging first and check it against the vendor advisory. Why?

Ad · In-content banner

NVD 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.

References

Source: nvd.nist.gov/vuln/detail/CVE-2026-85714

Ad · Sticky 320×50 / 728×90