Summary
CVE-2026-47193 is a high-severity authorization bypass and information disclosure vulnerability in OpenProject, an open-source web-based project management platform. The journal diff endpoint (GET /journals/:journal_id/diff/:field) fails to enforce object-level, journal-level, and field-level visibility controls, allowing unauthorized actors to retrieve hidden historical field values from project records. The vulnerability carries a CVSS v3.1 base score of 7.5 (High) and is exploitable remotely without authentication, making every publicly reachable OpenProject instance a potential target.
Technical details
- Root cause: The diff action in
app/controllers/journals_controller.rbmaps authorization to overly broad permissions (e.g.,view_work_packagesfor work-package journals,view_projectfor project journals,view_meetingsfor meeting journals) without subsequently enforcing the fine-grained visibility checks that the standard OpenProject API and UI apply. - Trigger conditions: An attacker sends a crafted
GET /journals/:journal_id/diff/:fieldrequest. On instances with public projects, no credentials are required. On instances with private projects, any low-privileged user account is sufficient to bypass field-level restrictions. - Attack vector: Network-accessible HTTP/HTTPS endpoint; no local access, authentication, or user interaction required (PR:N, UI:N) in public-project configurations.
- Disclosed data categories (confirmed in the security advisory):
- Hidden work-package descriptions and metadata from journals of inaccessible work packages
- Text custom field histories marked admin-only or otherwise restricted
- Internal/restricted journal contents hidden from users lacking
view_internal_comments - Project custom field and comment values concealed from users lacking
view_project_attributes - Historical meeting agenda notes from cancelled meetings
- Persistence risk: Historical journal diffs retain previous field values even after sensitive content has been removed from current objects, meaning data believed to be deleted or hidden may still be exposed through this endpoint.
- Weaknesses: CWE-862 (Missing Authorization) and CWE-200 (Exposure of Sensitive Information to an Unauthorized Actor).
- No public proof-of-concept has been identified at time of publication.
Affected software
- OpenProject < 17.3.3 (all versions up to and including 17.3.2)
- OpenProject ≥ 17.4.0, < 17.4.1 (specifically the 17.4.0 release)
Severity
| Property | Value |
|—|—|
| CVSS v3.1 Base Score | 7.5 (High) |
| Vector String | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N |
| Attack Vector | Network |
| Attack Complexity | Low |
| Privileges Required | None |
| User Interaction | None |
| Confidentiality Impact | High |
| Integrity / Availability Impact | None |
Mitigation and recommended actions
- Patch immediately: Upgrade to OpenProject 17.3.3 (for organizations on the 17.3.x branch) or OpenProject 17.4.1 (for organizations on the 17.4.x branch). Both releases were published on June 8, 2026 and contain the complete fix.
- If immediate patching is not possible: Consider restricting network access to the OpenProject instance at the perimeter (firewall or reverse-proxy rules) to prevent unauthenticated internet access to the journal diff endpoint path (
/journals/*/diff/*) until the upgrade can be scheduled. - Post-patch review: Administrators should audit any custom fields, internal journals, or project attributes marked as restricted or hidden to assess whether sensitive historical values may have been exposed prior to patching.
IONIX Status
The IONIX research team is tracking ongoing exploitation attempts and recommends immediate patching. Potentially affected assets are outlined in this post.

