Skip to main content

Stirling-PDF EUVDEUVD-2026-60364

| CVE-2026-57485 HIGH
Information Exposure (CWE-200)
2026-08-17 GitHub_M
8.5
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate as ROLE_USER on Stirling-PDF instance
  2. Delivery
    Submit crafted pipeline request to /api/v1/pipeline/handleData
  3. Exploit
    Trigger INTERNAL_API_USER key injection into subrequest
  4. Execution
    Retrieve injected key via /api/v1/user/get-api-key
  5. Persist
    Authenticate as internal service account
  6. Impact
    Query privileged monitoring endpoints /api/v1/info/requests/all and /api/v1/info/load/all

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V14 - Data Protection Data exposure prevention
MITRE ATT&CK

2 techniques across 2 tactics: Collection, Discovery

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires an active, authenticated ROLE_USER account on the target Stirling-PDF instance (CVSS PR:L confirms authentication is mandatory - unauthenticated exploitation is not possible). The /api/v1/pipeline/handleData endpoint must be reachable by the user, which is the default configuration for any Stirling-PDF deployment using the pipeline feature. The STIRLING-PDF-BACKEND-API-USER internal service account must have an API key provisioned, which is standard in pipeline-enabled deployments. Exploitation is strictly bounded to instances running versions prior to 2.9.0. Limiting factors include: the requirement for a valid user account (no anonymous exploitation), the self-hosted nature of Stirling-PDF (attacker must know or reach the specific instance URL), and the absence of external system compromise - impact is confined to the Stirling-PDF instance itself. Single-user deployments have no meaningful incremental risk since the escalating credential provides no access beyond what the sole operator already possesses.

Impact

The CVSS 3.1 vector AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:N scores 8.5 and accurately reflects the attack profile: network-reachable, low complexity, requiring only a standard user account, with a scope change to the privileged internal service account context and high confidentiality impact from API key disclosure and sensitive endpoint access. The Scope:Changed designation is well-justified - a ROLE_USER credential escalates to the INTERNAL_API_USER tier, crossing a security boundary within the application. Real-world risk is context-dependent: in single-user or small-team deployments where all ROLE_USER accounts are trusted, the incremental risk is low since no external system compromise occurs. Multi-tenant or shared-instance deployments where ROLE_USER accounts belong to semi-trusted parties represent the genuine risk scenario. EPSS score is not available in the provided intelligence, so exploitation probability cannot be quantified. No CISA KEV listing and no public POC have been identified, meaningfully reducing urgency compared to the raw CVSS score. The I:L component reflects rate-limit bypass and service account impersonation rather than direct data modification, which is a realistic but limited integrity concern. No availability impact is present.

Exploit ScenarioDerived

An authenticated ROLE_USER on a shared Stirling-PDF instance submits a crafted pipeline request to /api/v1/pipeline/handleData, causing the server to inject the STIRLING-PDF-BACKEND-API-USER API key into the subrequest context; the attacker then calls /api/v1/user/get-api-key to retrieve that key. Using the recovered key, the attacker re-authenticates as the internal service account and queries /api/v1/info/requests/all to enumerate all other users' request histories and /api/v1/info/load/all for system telemetry, while also bypassing per-user rate limits for bulk PDF processing abuse. No public exploit code has been identified, but the attack requires only standard HTTP requests and knowledge of the documented API surface.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Aug 17, 2026

Privilege escalation in Stirling-PDF before 2.9.0 allows any authenticated ROLE_USER to obtain the privileged STIRLING-PDF-BACKEND-API-USER internal service account API key through the pipeline subrequest mechanism, then impersonate that account to bypass rate limits and query sensitive monitoring endpoints such as /api/v1/info/requests/all and /api/v1/info/load/all. The root cause is PipelineProcessor.java injecting the static internal service account key into pipeline subrequests rather than the requesting user's own key, making it retrievable via /api/v1/user/get-api-key. No public exploit or CISA KEV listing exists at time of analysis; vendor-released patch v2.9.0 resolves the issue.

RemediationAI

Upgrade Stirling-PDF to version 2.9.0 or later, available at https://github.com/Stirling-Tools/Stirling-PDF/releases/tag/v2.9.0 and confirmed by the vendor advisory GHSA-3xxh-mm3g-c9w5. The patch (PR #6047, commit de9625942bbc329fdefcfde161476a633a3b3213) replaces the injected INTERNAL_API_USER key with the calling user's own key and enforces a path-prefix allowlist on pipeline subrequests. If immediate upgrade is not feasible, restrict access to /api/v1/pipeline/handleData at the reverse-proxy or network layer to only the most trusted users, accepting that pipeline functionality becomes unavailable to general users as a trade-off. Operators should also rotate the STIRLING-PDF-BACKEND-API-USER API key immediately in any instance where untrusted ROLE_USER accounts existed before 2.9.0, treating the key as potentially compromised; failure to rotate means the old key remains exploitable even after patching if it was previously exfiltrated.

Affected VersionsENISA

Stirling-PDF < 2.9.0

Affected Packages

euvd stirling_pdf fix: 2.9.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Stirling-PDF is a self-hosted Java Spring Boot web application (CPE: cpe:2.3:a:stirling-tools:stirling-pdf:*:*:*:*:*:*:*:*) that orchestrates multi-step PDF processing pipelines. The vulnerable component is PipelineProcessor.java, which builds HTTP subrequests to internal API endpoints on behalf of the user. Prior to 2.9.0, these subrequests were authenticated using getApiKeyForUser(Role.INTERNAL_API_USER.getRoleId()) - the static privileged backend key - rather than the calling user's own key. Because the injected key flows through a context accessible via /api/v1/user/get-api-key, any ROLE_USER triggering a pipeline operation could retrieve it. CWE-200 (Exposure of Sensitive Information to an Unauthorized Actor) is the root cause class: an internal credential scoped to elevated backend operations was inadvertently exposed to a lower-privileged security principal. The absence of a URL allowlist further allowed pipeline subrequests to target administrative information endpoints outside the intended PDF-processing surface. The fix (PR #6047) addresses both issues: replacing the injected key with getCurrentUserApiKey() and adding a strict path-prefix allowlist restricting pipeline targets to /api/v1/general/, /api/v1/misc/, /api/v1/security/, /api/v1/convert/, and /api/v1/filter/.

Know when Java gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 8.5 HIGH
AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:N
vuln.today AI 8.5 HIGH

PR:L because a valid ROLE_USER account is required; S:C because exploitation crosses from user context into privileged internal service account; C:H from API key disclosure and sensitive endpoint access; I:L from rate-limit bypass and impersonation; A:N as no availability impact is described.

3.1 AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:L/VA:N/SC:L/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Changed
Confidentiality
High
Integrity
Low
Availability
None

Lifecycle Timeline

2
Patch available
Aug 17, 2026 - 20:17 EUVD
CVE Published
Aug 17, 2026 - 19:31 cve.org
HIGH 8.5

DescriptionCVE.org

Stirling-PDF is a locally hosted web application that facilitates various operations on PDF files. Prior to 2.9.0, the /api/v1/pipeline/handleData endpoint in app/core/src/main/java/stirling/software/SPDF/controller/api/pipeline/PipelineProcessor.java injects the STIRLING-PDF-BACKEND-API-USER API key into pipeline subrequests, allowing an authenticated ROLE_USER to retrieve the key through /api/v1/user/get-api-key, impersonate the internal service account, bypass normal rate limits, and access internal endpoints including /api/v1/info/requests/all and /api/v1/info/load/all. This issue is fixed in version 2.9.0.

Executive ViewAI

Why It Matters

Stirling-PDF versions before 2.9.0 contain a privilege escalation vulnerability (CVSS 8.5) allowing authenticated users to impersonate a privileged internal system account, with no public exploit identified at time of analysis. This enables bypass of API security controls and access to confidential operational metrics. Organizations using this product must patch immediately to v2.9.0 to restore secure API operations.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.3%
Top 83% exploitable
Prevalence
Low
niche self-hosted PDF processing tool, limited enterprise footprint
Data Quality
6 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

42
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +42
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

More in Java

View all
CVE-2012-4681 CRITICAL POC
9.8 Aug 28

Oracle Java SE 7 Update 6 and earlier contains multiple sandbox bypass vulnerabilities via the ClassFinder and forName m

CVE-2015-7450 CRITICAL POC
9.8 Jan 02

Remote code execution in IBM Sterling B2B Integrator, Sterling Integrator, and Tivoli Common Reporting allows unauthenti

CVE-2013-2465 CRITICAL POC
9.8 Jun 18

Java Runtime Environment sandbox bypass via incorrect image channel verification in 2D component allows remote unauthent

CVE-2011-3544 CRITICAL POC
9.8 Oct 19

Oracle Java SE JDK/JRE 7 and 6 Update 27 and earlier allows remote code execution with complete system compromise throug

CVE-2010-1871 HIGH POC
8.8 Aug 05

JBoss Seam 2 in Red Hat JBoss EAP 4.3.0 fails to sanitize JBoss Expression Language inputs, allowing remote attackers to

CVE-2012-1723 CRITICAL POC
9.8 Jun 16

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 update 4 and earlier, 6 up

CVE-2013-0422 CRITICAL POC
9.8 Jan 10

Multiple vulnerabilities in Oracle Java 7 before Update 11 allow remote attackers to execute arbitrary code by (1) using

CVE-2012-0507 CRITICAL POC
9.8 Jun 07

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 2 and earlier, 6 Up

CVE-2015-4852 CRITICAL POC
9.8 Nov 18

The WLS Security component in Oracle WebLogic Server 10.3.6.0, 12.1.2.0, 12.1.3.0, and 12.2.1.0 allows remote attackers

CVE-2012-5076 CRITICAL POC
9.8 Oct 16

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 7 and earlier allow

CVE-2017-3066 CRITICAL POC
9.8 Apr 27

Remote unauthenticated attackers can execute arbitrary code on Adobe ColdFusion servers through Java deserialization fla

CVE-2012-0391 CRITICAL POC
9.8 Jan 08

The ExceptionDelegator component in Apache Struts before 2.2.3.1 interprets parameter values as OGNL expressions during

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy