Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft malicious PPTX with script payload
-
DeliveryUpload to app using PHPPresentation HTML writer
-
ExploitPayload emitted unescaped in generated HTML
-
ExecutionVictim views generated HTML in browser
-
ImpactScript executes in victim's session context
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 that a target application (1) processes attacker-influenced presentation content through PHPPresentation 1.2.0's HTML writer (Writer/HTML.php), and (2) renders that generated HTML to a victim's browser. The concrete injection vectors are PPTX text runs, hyperlink relationship (r:id) targets, and shape descr attributes, which are emitted without HTML/attribute escaping. Limiting factors: the attacker must be able to supply or influence the presentation content, the application must actually use the HTML writer on that untrusted content, and - per UI:P in the CVSS vector - a victim must passively view the resulting HTML for the script to fire. Applications that do not expose PHPPresentation's HTML output to users, or that sanitize it downstream, are not exposed. |
| Impact | This is a medium-severity stored/reflected XSS (CWE-79) in a software library, not an internet-facing service, so real-world risk is bounded and context-dependent. The provided CVSS 4.0 vector (CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N, 5.3 Medium) correctly models the flaw: network vector but no impact to the vulnerable system itself (VC/VI/VA:N) and only limited confidentiality/integrity impact to a subsequent system - the victim's browser (SC:L/SI:L). Passive user interaction (UI:P) is required: a victim must view the HTML output generated from attacker-supplied presentation content, which meaningfully constrains exploitation. No EPSS score was provided, this CVE is NOT in CISA KEV, and no public exploit flag was set in the input, so there is no signal of active or widespread exploitation. A technical write-up (hackmd) and a VulnCheck advisory exist with vulnerable source-line references, raising the practical likelihood that working XSS payloads are documented, but that is distinct from confirmed exploitation. Net: a legitimate issue to patch for applications that render PHPPresentation HTML output from untrusted uploads, but it is a medium-risk, interaction-dependent client-side bug rather than a high-urgency, auto-exploitable server compromise. |
| Exploit ScenarioDerived | An application lets users upload PPTX files and uses PHPPresentation 1.2.0's HTML writer to render previews. An attacker uploads a presentation whose text runs, hyperlink targets, or shape descr attributes contain a script payload; because these are emitted unescaped, the script executes in the browser of any user (e.g. an admin or reviewer) who views the generated HTML preview. A public technical write-up and VulnCheck advisory describe the vulnerable code paths, but no weaponized exploit was flagged in the input. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 21, 2026
Cross-site scripting in PHPOffice PHPPresentation 1.2.0's HTML writer lets attacker-influenced PPTX content execute script when the generated HTML is viewed in a browser. The writer emits text runs, hyperlink relationship targets, and shape descr attributes without HTML or attribute escaping, so applications that convert untrusted presentations to HTML and serve that output are exposed. This is a medium-severity library issue with no public exploit identified at time of analysis; exploitation requires the application to use the affected writer and a victim to view the crafted HTML, making real-world risk bounded and context-dependent.
RemediationAI
No vendor-released patch version is confirmed in the provided references at time of analysis, so the primary action is to stop using PHPPresentation 1.2.0's HTML writer on untrusted presentation content and to monitor https://github.com/PHPOffice/PHPPresentation and the VulnCheck advisory for a fixed release. If the HTML writer must be used, apply output escaping at the library boundary in Writer/HTML.php around lines 307-330 (for example, htmlspecialchars with ENT_QUOTES and an explicit encoding for text runs, hyperlink targets, and descr attributes) or pass the generated HTML through a context-aware sanitizer such as HTML Purifier; both approaches can alter intended markup and may break links or formatting, so validate output. As compensating controls, do not serve generated HTML directly to browsers, render presentations to a non-HTML format, restrict uploads of untrusted PPTX files to trusted users, and deploy a restrictive Content-Security-Policy that blocks inline and third-party script; CSP reduces impact but does not fix the underlying missing escaping. Review applications to confirm whether PHPPresentation's HTML output is exposed to users, since apps that do not expose it or that already sanitize it downstream are not exposed.
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
The affected component is the HTML writer in PHPOffice PHPPresentation, a PHP library for reading and writing PPTX presentations. CWE-79 (improper neutralization of input during web page generation) applies because Writer/HTML.php lines 307-330 concatenate presentation-derived values into HTML without escaping. The concrete injection points are text-run content, hyperlink relationship (r:id) targets, and shape descr attributes. When an application passes an attacker-supplied PPTX through this writer and returns the result to a browser, injected markup or attribute-breaking payloads can run in the victim's origin. The CPE cpe:2.3:a:phpoffice:phppresentation:*:*:*:*:*:*:*:* identifies the PHPPresentation package line, while the source reference and advisory specifically identify version 1.2.0. The assessed CVSS:3.1 vector (AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N) reflects a network-reachable, no-privilege XSS that requires user interaction and has scope change but limited confidentiality/integrity impact; PHPPresentation itself is not an internet-facing service, so exposure depends entirely on how a host application uses the HTML writer.
Know when Phppresentation 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
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N
Classic XSS: no privileges to craft malicious content (PR:N), victim must view the output (UI:R), script runs in the browser's security context (S:C), with limited C/I impact and no availability loss.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
PHPOffice PHPPresentation 1.2.0 contains a cross-site scripting vulnerability in the HTML writer that allows attackers who supply presentation content to inject script into generated HTML. Attackers can craft a PPTX with malicious text runs, hyperlink relationship targets, or shape descr attributes that are emitted unescaped, executing script in viewers' browsers.
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.
EUVD-2026-107251
GHSA-9prg-2pw9-j2rf
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB