CVE-2026-52781

Source
https://cve.org/CVERecord?id=CVE-2026-52781
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-52781.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-52781
Aliases
  • GHSA-q33w-f822-hg8x
Published
2026-06-26T19:00:10.717Z
Modified
2026-07-15T01:49:07.759704071Z
Severity
  • 6.4 (Medium) CVSS_V3 - CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N CVSS Calculator
Summary
OpenProject: Stored XSS on openproject.example.com through /api/v3/projects/{project}/work_packages via POST parameter "description"
Details

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.

Database specific
{
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/52xxx/CVE-2026-52781.json",
    "cwe_ids": [
        "CWE-79"
    ],
    "cna_assigner": "GitHub_M"
}
References

Affected packages

Git / github.com/opf/openproject

Affected ranges

Type
GIT
Repo
https://github.com/opf/openproject
Events
Introduced
0 Unknown introduced commit / All previous commits are affected
Fixed
Introduced
Fixed
Database specific
{
    "extracted_events": [
        {
            "introduced": "0"
        },
        {
            "fixed": "17.3.3"
        },
        {
            "introduced": "17.4.0"
        },
        {
            "fixed": "17.4.1"
        }
    ],
    "source": "AFFECTED_FIELD"
}

Affected versions

11.*
11.2.1
2.*
2.4.0
Other
sprint/2014_08
sprint/2014_09
sprint/2014_10
sprint/2014_11
sprint/2014_12
sprint/2014_13
sprint/2014_16
sprint/2014_18
sprint/2015_01
sprint/2015_02
sprint/2015_03
sprint/2015_04
v10.*
v10.5
v17.*
v17.3.1
v17.3.2
v17.4.0
v5.*
v5.0.4
v9.*
v9.0.0-pre

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-52781.json"