Skip to main content
Press slash or control plus K to focus the search. Use the arrow keys to navigate results and press enter to open a threat.
Reconnecting to live updates…

CVE-2026-23625: CWE-79: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') in opf openproject

0
High
VulnerabilityCVE-2026-23625cvecve-2026-23625cwe-79
Published: Mon Jan 19 2026 (01/19/2026, 17:41:41 UTC)
Source: CVE Database V5
Vendor/Project: opf
Product: openproject

Description

OpenProject is an open-source, web-based project management software. Versions 16.3.0 through 16.6.4 are affected by a stored cross-site scripting vulnerability in the Roadmap view. OpenProject’s roadmap view renders the “Related work packages” list for each version. When a version contains work packages from a different project (e.g., a subproject), the helper link_to_work_package prepends package.project.to_s to the link and returns the entire string with .html_safe. Because project names are user-controlled and no escaping happens before calling html_safe, any HTML placed in a subproject name is injected verbatim into the page. The underlying issue is mitigated in versions 16.6.5 and 17.0.0 by setting a `X-Content-Type-Options: nosniff` header, which was in place until a refactoring move to Rails standard content-security policy, which did not properly apply this header in the new configuration since OpenProject 16.3.0. Those who cannot upgrade their installations should ensure that they add a X-Content-Type-Options: nosniff header in their proxying web application server.

AI-Powered Analysis

AILast updated: 01/19/2026, 18:11:13 UTC

Technical Analysis

CVE-2026-23625 is a stored cross-site scripting (XSS) vulnerability classified under CWE-79 that affects the OpenProject open-source project management software, specifically versions 16.3.0 through 16.6.4. The vulnerability exists in the Roadmap view feature, which displays a list of related work packages for each project version. When a version includes work packages from subprojects, the helper function link_to_work_package prepends the subproject's name to the link and marks the entire string as html_safe without proper escaping. Since project names are user-controlled inputs, an attacker can inject malicious HTML or JavaScript code into a subproject name, which is then rendered verbatim in the Roadmap view. This results in stored XSS, where the malicious payload persists and executes in the browsers of users viewing the affected page. The root cause is the lack of input sanitization combined with the use of html_safe, which bypasses Rails' default escaping mechanisms. The vulnerability was partially mitigated in version 16.6.5 and 17.0.0 by reintroducing the X-Content-Type-Options: nosniff HTTP header, which prevents browsers from interpreting files as a different MIME type, reducing the risk of script execution. However, a refactoring to use Rails' standard Content Security Policy (CSP) inadvertently removed this header, re-exposing the risk in versions 16.3.0 through 16.6.4. Exploitation requires an attacker to have authenticated access to create or modify subproject names and requires victim user interaction to trigger the malicious script. The CVSS v3.1 score is 8.7 (high), reflecting network attack vector, low attack complexity, required privileges, user interaction, and high impact on confidentiality and integrity. No known exploits are reported in the wild as of publication. The vulnerability can lead to session hijacking, credential theft, unauthorized actions on behalf of users, and potential lateral movement within affected environments.

Potential Impact

For European organizations, the impact of CVE-2026-23625 can be significant, particularly for those relying on OpenProject for managing software development, engineering, or collaborative projects. Successful exploitation can lead to theft of sensitive project data, user credentials, and session tokens, enabling attackers to impersonate legitimate users and perform unauthorized actions. This can compromise project integrity and confidentiality, disrupt workflows, and potentially expose intellectual property. Since the vulnerability requires authenticated access, insider threats or compromised accounts pose a heightened risk. The stored nature of the XSS means multiple users can be affected once malicious content is injected. Organizations with strict data protection regulations, such as GDPR in the EU, may face compliance risks and reputational damage if breaches occur. Additionally, the vulnerability could be leveraged as a stepping stone for further attacks within enterprise networks. The absence of known exploits in the wild suggests a window for proactive remediation before widespread abuse.

Mitigation Recommendations

The primary mitigation is to upgrade OpenProject installations to version 16.6.5 or later, where the vulnerability is addressed by proper HTTP header configuration and improved content security policies. For organizations unable to upgrade immediately, it is critical to manually add the X-Content-Type-Options: nosniff header at the web server or reverse proxy level to prevent MIME type sniffing and reduce the risk of script execution. Additionally, organizations should audit project and subproject names for suspicious or malicious content and restrict who can create or modify project names to trusted users only. Implementing strict Content Security Policies (CSP) tailored to the application can further mitigate XSS risks. Regular security training for users to recognize suspicious behavior and careful monitoring of logs for unusual activities related to project metadata changes are recommended. Finally, applying the principle of least privilege to user roles within OpenProject reduces the attack surface by limiting who can inject malicious input.

Need more detailed analysis?Upgrade to Pro Console

Technical Details

Data Version
5.2
Assigner Short Name
GitHub_M
Date Reserved
2026-01-14T16:08:37.482Z
Cvss Version
3.1
State
PUBLISHED

Threat ID: 696e705dd302b072d9cf653f

Added to database: 1/19/2026, 5:56:45 PM

Last enriched: 1/19/2026, 6:11:13 PM

Last updated: 1/19/2026, 9:23:59 PM

Views: 8

Community Reviews

0 reviews

Crowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.

Sort by
Loading community insights…

Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.

Actions

PRO

Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.

Please log in to the Console to use AI analysis features.

Need more coverage?

Upgrade to Pro Console in Console -> Billing for AI refresh and higher limits.

For incident response and remediation, OffSeq services can help resolve threats faster.

Latest Threats