Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAttacker pushes commit with HTML-injected filename
-
ExploitFilename displayed unescaped in Repositories page
-
ExecutionXSS payload executes in victim's browser
-
ImpactAttacker steals session/credentials or performs actions as victim
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 | Attacker requires push access to a repository in OpenProject versions prior to 16.6.9, 17.0.6, 17.1.3, or 17.2.1. Victim (project member) must view the Repositories page displaying a changeset with the maliciously crafted filename. Stored XSS persists in repository metadata. |
| Impact | The CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:H) indicates this is a network-exploitable vulnerability with low attack complexity, requiring low privileges (repository push access) and user interaction (viewing the malicious changeset). The score of 9.1 reflects critical severity, with the changed scope (S:C) indicating attacks can affect resources beyond the vulnerable component. The requirement for authenticated repository access and user interaction does reduce exploitability compared to unauthenticated vulnerabilities. However, in development environments where multiple team members regularly review repository changes, the user interaction barrier is easily satisfied through normal workflows. The stored nature of the XSS means persistence across sessions and automatic triggering when users access the repositories page. No KEV listing or EPSS score is provided in the available data, and no public POC is explicitly mentioned, suggesting limited observed exploitation. The availability of patches in versions 16.6.9, 17.0.6, 17.1.3, and 17.2.1 makes this addressable. Real-world risk is elevated for organizations using OpenProject with multiple repository contributors, particularly if the platform hosts sensitive project data or has integration with authentication systems that could be compromised via session hijacking. |
| Exploit ScenarioDerived | An attacker with repository push access creates a commit containing a file with a malicious filename such as '<img src=x onerror=alert(document.cookie)>.txt', then deletes this file in a subsequent commit. When a project administrator or team member navigates to the Repositories page to review recent changesets, the malicious JavaScript executes in their browser context, potentially stealing session cookies, performing actions as the victim user, or exfiltrating sensitive project data. The attack persists in the repository history and affects all users who view the changeset. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Mar 18, 2026
OpenProject's Repositories module contains a stored cross-site scripting (XSS) vulnerability that occurs when displaying filenames from repository changesets. Attackers with repository push access can inject malicious HTML code via specially crafted filenames, which executes when project members view affected changesets. This affects OpenProject versions prior to 16.6.9, 17.0.6, 17.1.3, and 17.2.1, with a CVSS score of 9.1 indicating critical severity.
RemediationAI
Upgrade OpenProject to version 16.6.9, 17.0.6, 17.1.3, or 17.2.1 depending on your release branch. Organizations running version 16.x should upgrade to 16.6.9 or later, those on 17.0.x should upgrade to 17.0.6 or later, those on 17.1.x should upgrade to 17.1.3 or later, and those on 17.2.x should upgrade to 17.2.1 or later. Detailed patching information is available in the GitHub Security Advisory at https://github.com/opf/openproject/security/advisories/GHSA-p423-72h4-fjvp. Until patching is possible, consider restricting repository push access to only highly trusted users, implementing Content Security Policy (CSP) headers to mitigate XSS impact, and educating users not to interact with repository views containing recently added files from untrusted contributors. Review audit logs for suspicious repository commits with unusual filenames that may contain HTML tags or JavaScript code.
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 vulnerability affects OpenProject (cpe:2.3:a:opf:openproject:*:*:*:*:*:*:*:*), an open-source web-based project management platform. The root cause is CWE-79 (Improper Neutralization of Input During Web Page Generation), specifically a failure to properly escape or sanitize filenames retrieved from connected repositories before rendering them in the web interface. When the Repositories module displays changeset information, it processes filenames without adequate output encoding, allowing HTML and JavaScript embedded in filenames to be interpreted by browsers. This is a classic stored XSS vulnerability where malicious payloads persist in the repository commit history and execute when other users view the affected changesets.
Know when Openproject 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:L/UI:R/S:C/C:H/I:H/A:H
Primary rating from GitHub Advisory · only source for this CVE.
CVSS VectorGitHub Advisory
Lifecycle Timeline
3DescriptionGitHub Advisory
OpenProject is an open-source, web-based project management software. In versions prior to 16.6.9, 17.0.6, 17.1.3, and 17.2.1, the Repositories module did not properly escape filenames displayed from repositories. This allowed an attacker with push access into the repository to create commits with filenames that included HTML code that was injected in the page without proper sanitation. This allowed a persisted XSS attack against all members of this project that accessed the repositories page to display a changeset where the maliciously crafted file was deleted. Versions 16.6.9, 17.0.6, 17.1.3, and 17.2.1 fix the issue.
Executive ViewAI
OpenProject versions prior to 16.6.9, 17.0.6, 17.1.3, and 17.2.1 contain a stored cross-site scripting vulnerability in the Repositories module that allows attackers with repository access to execute malicious code when project members view changesets, potentially compromising user sessions and sensitive project data. Organizations using affected versions should prioritize immediate patching to prevent account takeover and data exfiltration within their project management environment.
Apply vendor patch. If immediate patching is not feasible, restrict repository push permissions to trusted users only and disable public access to repository changesets until patching is completed.
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.
Related Vulnerabilities in OpenProject SQL Injection and XSS
View all 2More in Openproject
View allA SQL injection vulnerability in the activities API in OpenProject before 8.3.2 allows a remote attacker to execute arbi
OpenProject is web-based project management software. Rated high severity (CVSS 7.5), this vulnerability is remotely exp
OpenProject is open source project management software. Rated medium severity (CVSS 6.5), this vulnerability is remotely
Authenticated remote code execution affects the official openproject/openproject Docker image, which ships with a hardco
Cross-project folder hijacking in OpenProject before 17.3.3 and 17.4.1 lets a project-admin abuse an insecure direct obj
SQL injection in OpenProject's baseline-comparison (timestamps) functionality lets an authenticated, low-privileged user
OpenProject has a CVSS 9.9 command injection vulnerability allowing authenticated users to execute OS commands on the pr
Remote code execution in OpenProject before 17.3.3 and 17.4.1 arises from cache store poisoning, allowing an attacker wi
OpenProject (before 16.6.4) has a local file read vulnerability through SVG-based ImageMagick exploitation in the PDF ex
Token decryption in OpenProject 17.0 allows authenticated attackers to intercept and decrypt 24-hour authentication toke
Privilege escalation in OpenProject before 17.3.3 and 17.4.1 lets an attacker forge a cross-site request to /users/:id c
EUVD-2026-12969
NVD
CVE.org
EPSS
GitHub
VulDB
Exploit-DB