---
id: CVE-2026-52781
title: 'OpenProject is open-source, web-based project management software'
summary: >-
  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-ch…
severity: medium
cvss: 6.4
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N'
cwe:
  - CWE-79
published: '2026-06-26'
updated: '2026-06-29'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-52781'
references:
  - url: 'https://github.com/opf/openproject/security/advisories/GHSA-q33w-f822-hg8x'
    label: security-advisories@github.com
tags:
  - nvd
epss: 0.00251
epssPercentile: 0.14686
ingestedAt: '2026-06-29T14:29:18.251Z'
---

## Overview

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 redirect_to — 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.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
