CVE-2026-52781: OpenProject: Stored XSS on openproject.example.com through /api/v3/projects/{project}/work_packages via POST parameter "description"

Published Jun 26, 2026
·
Updated

OpenProject is open-source, web-based project management software. Prior to 17.3.3 and 17.4.1, the HTML sanitizer grants <macro> elements unrestricted data- attributes via :data wildcard. An attacker injects data-controller="poll-for-changes" into a work package description, causing Stimulus.js to mount a controller that fetches an attacker-uploaded attachment and passes it to renderStreamMessage(). This executes arbitrary Turbo Stream actions — including redirectto — in every victim's authenticated browser session, redirecting them to an attacker-controlled server. This vulnerability is fixed in 17.3.3 and 17.4.1.

Affected Software

1 affected component
OpenProject OpenProject>17.3.3<=17.4.1

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade OpenProject to a version that resolves this vulnerability.

    Fixed in 17.3.3
  2. Upgrade

    Upgrade OpenProject to a version that resolves this vulnerability.

    Fixed in 17.4.1

Event History

Jun 26, 2026
CVE Published
via MITRE·07:00 PM
Data Sourced
via MITRE·07:00 PM
DescriptionSeverityWeakness
Data Sourced
via NVD·08:17 PM
DescriptionSeverityWeakness

Frequently Asked Questions

1

What is the severity of CVE-2026-52781?

The severity of CVE-2026-52781 is medium with a score of 6.4.

2

How do I fix CVE-2026-52781?

To resolve CVE-2026-52781, upgrade OpenProject to versions 17.3.3 or 17.4.1 or later.

3

What type of vulnerability is CVE-2026-52781?

CVE-2026-52781 is a stored Cross-Site Scripting (XSS) vulnerability.

4

What is the attack vector for CVE-2026-52781?

The attack vector for CVE-2026-52781 is through the POST parameter "description" in the work packages API.

5

What can an attacker achieve using CVE-2026-52781?

An attacker can potentially execute arbitrary JavaScript code in the context of an affected user's session.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203