Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft PDF with XSS payload in Title/Author metadata
-
DeliveryDeliver malicious PDF to victim user (email/shared storage)
-
ExploitVictim uploads PDF to vulnerable Stirling-PDF instance
-
ExecutionVictim clicks 'Get Info' on the crafted PDF
-
PersistinnerHTML renders payload as live script
-
ImpactExfiltrate session tokens or manipulate page content
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires three specific conditions to align: the Stirling-PDF instance must be running a version prior to 2.0.0; the attacker must be able to introduce a crafted PDF (with a malicious payload in the Title or Author metadata) into the system, either by uploading it directly or by inducing a victim to upload it; and the victim must actively click 'Get Info' on that specific PDF file within the Stirling-PDF UI. The CVSS vector (PR:N) reflects that the attacker requires no credentials on the Stirling-PDF instance itself - payload delivery is out-of-band via the PDF file. However, the victim must be an authenticated session holder on the instance for session-theft impact to materialize, since there is no pre-authentication exposure surface. User interaction (UI:R) is non-waivable: the XSS does not trigger on upload or passive file listing, only on the explicit 'Get Info' action. Single-user self-hosted deployments face negligible real-world risk because an attacker would need to target the same person who operates the instance. |
| Impact | The CVSS 8.1 score is consistent with the mechanics: network delivery (AV:N), low complexity (AC:L), no attacker-side privileges required (PR:N), required victim interaction (UI:R), unchanged scope (S:U), and high confidentiality and integrity impact reflecting session compromise and DOM manipulation. The two-step delivery chain - attacker provides crafted PDF, victim must click 'Get Info' - meaningfully reduces opportunistic exploitation risk compared to a zero-click path. No EPSS score was provided in the source data, so exploitation probability cannot be quantified. The absence of a KEV listing and any POC reference suggests no confirmed widespread or automated exploitation at time of analysis. Risk is highest for multi-user or team-shared Stirling-PDF deployments where untrusted PDFs regularly flow through the system; single-user self-hosted deployments face materially lower practical risk since the attacker and victim would need to be different people. The v2.0.0 major release also introduces significant licensing changes, which may complicate upgrade timelines for some organizations. |
| Exploit ScenarioDerived | An attacker crafts a PDF file using a scripting library (e.g., PyPDF2 or pikepdf) that embeds a JavaScript payload such as a cookie-stealing script inside the document's Title or Author metadata field. The attacker delivers this PDF to a target who operates a shared Stirling-PDF instance - for example, via email, a shared drive, or a phishing lure framed as a legitimate document - and the victim uploads it and clicks 'Get Info' to inspect the file's properties. The payload executes in the victim's authenticated browser session, potentially exfiltrating session tokens to an attacker-controlled server or performing actions within the Stirling-PDF interface on the victim's behalf. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 17, 2026
Stored cross-site scripting in Stirling-PDF prior to version 2.0.0 allows an attacker to embed JavaScript payloads inside PDF metadata fields (Title or Author) that execute in a victim's browser session when the user triggers the 'Get Info' workflow. The vulnerable template at get-info-on-pdf.html injects unsanitized metadata directly into the DOM via innerHTML, enabling session token theft and arbitrary page content manipulation against any user who processes a crafted PDF on a shared instance. No public exploit has been identified at time of analysis, and the vendor has shipped a complete fix in the major v2.0.0 release.
RemediationAI
Vendor-released patch: version 2.0.0. Upgrade to Stirling-PDF v2.0.0 or later, available at https://github.com/Stirling-Tools/Stirling-PDF/releases/tag/v2.0.0. The vendor explicitly recommends backing up the config directory before deploying this major release due to architectural changes. Note that v2.0.0 introduces a new open-core licensing model: organizations with more than five users require a paid license, which may affect upgrade planning for some deployments. If immediate upgrade is not feasible, restrict upload permissions so that only trusted internal users can submit PDF files to the instance, eliminating the attacker-controlled input path - the trade-off is reduced utility for external-facing workflows. Alternatively, disable or proxy-block access to the 'Get Info' endpoint at the reverse-proxy layer until the upgrade is complete, accepting loss of that feature for the interim period. No vendor-confirmed workaround short of upgrading is documented in the advisory.
Affected VersionsENISA
Affected Packages
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 web application (Spring Boot) for PDF manipulation. The root cause is CWE-79 (Improper Neutralization of Input During Web Page Generation): the 'Get Info' workflow template at app/core/src/main/resources/templates/security/get-info-on-pdf.html reads PDF metadata fields - specifically the document Title and Author - and assigns them to a DOM element using innerHTML rather than textContent or a proper sanitizer. PDF metadata is attacker-controlled content embedded in the PDF file structure (document information dictionary), meaning any party who can supply a PDF to the system controls the injected payload. CPE cpe:2.3:a:stirling-tools:stirling-pdf:*:*:*:*:*:*:*:* confirms all versions up to (not including) 2.0.0 are in scope.
Know when Stirling Pdf 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
AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N
Attacker supplies malicious PDF externally with no instance privileges; victim must click 'Get Info'; session data fully exposed but no availability impact and scope remains unchanged.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
Stirling-PDF is a locally hosted web application that facilitates various operations on PDF files. Prior to 2.0.0, the Get Info workflow in app/core/src/main/resources/templates/security/get-info-on-pdf.html inserts untrusted PDF Title and Author metadata into the summary-text element with innerHTML, allowing a malicious PDF to execute stored cross-site scripting when a user clicks Get Info and to access browser-session data or modify page content. This issue is fixed in version 2.0.0.
Executive ViewAI
Stirling-PDF versions prior to 2.0.0 contain a stored cross-site scripting vulnerability in PDF metadata fields that enables attackers to steal user session tokens and manipulate page content when users access the PDF info feature on shared instances. This directly threatens account integrity and data access controls across any shared deployment processing untrusted PDFs.
Apply vendor patch: upgrade Stirling-PDF to version 2.0.0 or later.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
More in Stirling Pdf
View allStirling-PDF is a locally hosted web application that performs various operations on PDF files. Rated high severity (CVS
Stirling-PDF is a locally hosted web application that performs various operations on PDF files. Rated high severity (CVS
Stirling-PDF 2.13.2 through 3.2.0 lets an authenticated administrator regain Java method execution by uploading a crafte
Stirling-PDF is a locally hosted web application that allows you to perform various operations on PDF files. Rated high
Authenticated users on multi-user Stirling-PDF 3.0.0 through 3.2.0 can reach other tenants' stored documents by creating
Server-side request forgery in Stirling-PDF's POST /api/v1/convert/url/pdf endpoint allows unauthenticated remote attack
Privilege escalation in Stirling-PDF before 2.9.0 allows any authenticated ROLE_USER to obtain the privileged STIRLING-P
Stirling-PDF, a locally hosted web application for PDF operations, contains a path traversal vulnerability in the /api/v
Stirling-PDF before 3.0.0 lets remote attackers turn its AI PDF tool into a server-side request forgery and local file d
Stirling-PDF versions 2.1.5 through 2.5.1 are vulnerable to resource exhaustion denial of service through the watermark
A vulnerability was found in Stirling-Tools Stirling-PDF up to 0.28.3. Rated low severity (CVSS 2.3), this vulnerability
Stored cross-site scripting in Stirling-PDF's /get-info-on-pdf endpoint allows attacker-controlled JavaScript to execute
EUVD-2026-60320
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB