Skip to main content

PHPOffice PHPPresentation EUVDEUVD-2026-107251

| CVE-2026-114404 MEDIUM
Cross-site Scripting (XSS) (CWE-79)
2026-10-21 VulnCheck GHSA-9prg-2pw9-j2rf
5.3
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Craft malicious PPTX with script payload
  2. Delivery
    Upload to app using PHPPresentation HTML writer
  3. Exploit
    Payload emitted unescaped in generated HTML
  4. Execution
    Victim views generated HTML in browser
  5. Impact
    Script 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.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.3% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – 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

PHPPresentation 1.2.0 ≤1.2.0

Affected Packages

euvd phppresentation no fix

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

Vendor (VulnCheck) PRIMARY 5.3 MEDIUM
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
vuln.today AI 6.1 MEDIUM

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.

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

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
Passive
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
Low
Subsequent system: Integrity
Low
Subsequent system: Availability
None

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

EPSS Score
0.3%
Top 84% exploitable
Prevalence
Medium
known PHPOffice PHP document library, moderate but not ubiquitous deployment
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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.3%
Patch available No
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

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

Attack Technique

Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.

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