Skip to content

openproject

v17.4.1 Security

This release includes 6 security fixes for security teams reviewing exposed deployments.

Published 1mo Productivity & Wikis
✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →
This release patches 6 known CVEs

Topics

agile-development angular bcf boards bug-tracker gantt
+14 more
gantt-chart ifc issue-tracker jira-alternative kanban openproject product-management project-management project-planning roadmap ruby scrum timeline workflows

Affected surfaces

auth rbac rce_ssrf deps breaking_upgrade crypto_tls

ReleasePort's take

Moderate signal
editorial:auto 1mo

OpenProject v17.4.1 resolves multiple critical security vulnerabilities affecting API endpoints and cache storage.

Why it matters: CVEs include SQL injection (GHSA-98vw-2r87-fx2r) enabling admin privilege escalation, XSS (GHSA-q33w-f822-hg8x) for arbitrary Turbo Stream actions, IDOR (GHSA-3vpx-94qx-xpw6), CSRF (GHSA-6crw-7f5r-4qj9), and cache poisoning leading to RCE—all rated severity 100; immediate patching is required.

Summary

AI summary

Updates https://yeswehack.com/programs/openproject, Security fixes, and GHSA-h83w-5q5x-pq27 - Information Disclosure across a mixed release.

Changes in this release

Security Critical

CVE-2026-47193: Journal diff endpoint bypasses visibility checks.

CVE-2026-47193: Journal diff endpoint bypasses visibility checks.

Source: llm_adapter@2026-06-08

Confidence: high

Security Critical

CVE-2026-49355: Private work package data disclosed via meeting agenda item API.

CVE-2026-49355: Private work package data disclosed via meeting agenda item API.

Source: llm_adapter@2026-06-08

Confidence: high

Security Critical

GHSA-3vpx-94qx-xpw6: IDOR via PATCH on /projects/<A>/settings/project_storages/<A_ps_id> leads to unauthorized resource access.

GHSA-3vpx-94qx-xpw6: IDOR via PATCH on /projects/<A>/settings/project_storages/<A_ps_id> leads to unauthorized resource access.

Source: llm_adapter@2026-06-08

Confidence: high

Security Critical

GHSA-6crw-7f5r-4qj9: CSRF on /users/:id via POST parameter "user[admin]" enables privilege escalation.

GHSA-6crw-7f5r-4qj9: CSRF on /users/:id via POST parameter "user[admin]" enables privilege escalation.

Source: llm_adapter@2026-06-08

Confidence: high

Security Critical

GHSA-98vw-2r87-fx2r: SQL injection via timestamps parameter enables arbitrary database writes and admin privilege escalation.

GHSA-98vw-2r87-fx2r: SQL injection via timestamps parameter enables arbitrary database writes and admin privilege escalation.

Source: llm_adapter@2026-06-08

Confidence: high

Security Critical

GHSA-h83w-5q5x-pq27: Cleartext storage of OAuth access tokens in cache leads to sensitive data exposure.

GHSA-h83w-5q5x-pq27: Cleartext storage of OAuth access tokens in cache leads to sensitive data exposure.

Source: llm_adapter@2026-06-08

Confidence: high

Security Critical

GHSA-q33w-f822-hg8x: Stored XSS via work package description enables arbitrary Turbo Stream actions and redirects.

GHSA-q33w-f822-hg8x: Stored XSS via work package description enables arbitrary Turbo Stream actions and redirects.

Source: llm_adapter@2026-06-08

Confidence: high

Security Critical

GHSA-qj96-f42f-6336: Cache store poisoning leads to Remote Code Execution (RCE).

GHSA-qj96-f42f-6336: Cache store poisoning leads to Remote Code Execution (RCE).

Source: llm_adapter@2026-06-08

Confidence: high

Bugfix Medium

Fixes migration 20250929070310 failing due to schema not fully migrated.

Fixes migration 20250929070310 failing due to schema not fully migrated.

Source: llm_adapter@2026-06-08

Confidence: high

Full changelog

Release date: 2026-06-08

We released OpenProject 17.4.1.
The release contains several bug fixes and we recommend updating to the newest version.
Below you will find a complete list of all changes and bug fixes.

Security fixes

CVE-2026-47193 - Journal diff endpoint bypasses object, journal, and field visibility checks

This vulnerability was reported as part of the YesWeHack.com OpenProject Bug Bounty program, sponsored by the European Commission.

For more information, please see the GitHub advisory #GHSA-f2rx-x2qj-2hgj

CVE-2026-49355 - Private work package data disclosure through single meeting agenda item API

GET /api/v3/meetings/:meeting_id/agenda_items/:agenda_item_id discloses private work package data from a linked work package that belongs to a private/inaccessible project.

This vulnerability was reported as part of the YesWeHack.com OpenProject Bug Bounty program, sponsored by the European Commission.

For more information, please see the GitHub advisory #GHSA-g387-6rm2-xw88

GHSA-3vpx-94qx-xpw6 - IDOR through /projects//settings/project_storages/<A_ps_id> via PATCH parameter "storages_project_storage[project_folder_id]" leads to Access to Unauthorized Resources

A project-admin in one project can hijack the managed Nextcloud or OneDrive folder of another project on the same storage by writing the victim project's project_folder_id into the attacker's Storages::ProjectStorage row. The next managed-folder sync overwrites the ACL on the referenced folder with the attacker project's user list.

This vulnerability was reported as part of the YesWeHack.com OpenProject Bug Bounty program, sponsored by the European Commission.

For more information, please see the GitHub advisory #GHSA-3vpx-94qx-xpw6

GHSA-6crw-7f5r-4qj9 - CSRF on TARGET through /users/:id via POST parameter "user[admin]"

Turbo Drive auto-injects CSRF tokens (from <meta name="csrf-token">) on forms injected via the XSS's append Turbo Stream action. A second action, dispatch_event with name="submit", auto-submits the form with no victim interaction beyond viewing the work package, resulting in a CSRF attack

This vulnerability was reported as part of the YesWeHack.com OpenProject Bug Bounty program, sponsored by the European Commission.

For more information, please see the GitHub advisory #GHSA-6crw-7f5r-4qj9

GHSA-98vw-2r87-fx2r - SQL injection in timestamps functionality

OpenProject baseline comparison allows callers to request historic work-package attributes using the timestamps parameter.

The timestamp parser accepts a relative date keyword on the first line because its regular expression uses line anchors. The parser validates the input, but the original multi-line string is kept and later interpolated into a raw SQL CASE ... THEN '<timestamp>' expression.

An authenticated user who can save a query can persist a timestamp array value containing literal commas and trigger a top-level data-modifying CTE. This gives the attacker a generic database write primitive as the OpenProject application database role.

The demonstrated impact is administrator privilege escalation: the attacker uses that write primitive to update their own account record, setting the account's administrator flag to true. The same injection also allows in-band data disclosure through work-package timestamp metadata.

This vulnerability was reported as part of the YesWeHack.com OpenProject Bug Bounty program, sponsored by the European Commission.

For more information, please see the GitHub advisory #GHSA-98vw-2r87-fx2r

GHSA-h83w-5q5x-pq27 - Information Disclosure (cleartext storage of data) on localhost through memcached via Others "storage..httpx_access_token" leads to Sensitive Data Exposure

OpenProject's Storages module writes the OneDrive/SharePoint userless OAuth access_token plaintext to Rails.cache under the deterministic key storage.<id>.httpx_access_token, repopulated continuously by an hourly cron and every userless-OAuth call site (see Write cadence). None of the three allowed cache backends (file_store, memcache, redis) encrypts at rest. An attacker with read access to the cache backend recovers the Azure-AD application-tier bearer with an anonymous get over the memcached binary protocol (or the equivalent against Redis)

This vulnerability was reported as part of the YesWeHack.com OpenProject Bug Bounty program, sponsored by the European Commission.

For more information, please see the GitHub advisory #GHSA-h83w-5q5x-pq27

GHSA-q33w-f822-hg8x - Stored XSS on openproject.example.com through /api/v3/projects/{project}/work_packages via POST parameter "description"

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 was reported as part of the YesWeHack.com OpenProject Bug Bounty program, sponsored by the European Commission.

For more information, please see the GitHub advisory #GHSA-q33w-f822-hg8x

GHSA-qj96-f42f-6336 - Cache store poisoning leads to Remote Code Execution (RCE)

This vulnerability was reported as part of the YesWeHack.com OpenProject Bug Bounty program, sponsored by the European Commission.

For more information, please see the GitHub advisory #GHSA-qj96-f42f-6336

Bug fixes and changes

  • Bugfix: Migration 20250929070310 failing due to update code failing on not-yet fully migrated schema [#75286]

Contributions

A big thanks to our Community members for reporting bugs and helping us identify and provide fixes.
This release, special thanks for reporting and finding bugs go to Alexander Aleschenko.

Security Fixes

  • CVE-2026-47193 — Journal diff endpoint bypasses object, journal, and field visibility checks
  • CVE-2026-49355 — Private work package data disclosure via meeting agenda item API
  • GHSA-3vpx-94qx-xpw6 — IDOR through /settings/project_storages/ PATCH parameter leads to unauthorized resource access
  • GHSA-6crw-7f5r-4qj9 — CSRF on /users/:id allowing admin promotion via POST user[admin]
  • GHSA-98vw-2r87-fx2r — SQL injection in timestamps functionality enabling privilege escalation
  • GHSA-h83w-5q5x-pq27 — Information disclosure of cleartext OAuth access token stored in cache

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track openproject

Get notified when new releases ship.

Sign up free

About openproject

OpenProject is the leading open source project management software.

All releases →

Related context

Related CVEs

Beta — feedback welcome: [email protected]