Severity by source
AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
Network-reachable cookie endpoint (AV:N), low complexity since the key is a known constant (AC:L), any authenticated user suffices (PR:L), Marshal RCE escapes the app sandbox (S:C) giving full C/I/A.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
Lifecycle Timeline
3DescriptionCVE.org
OpenProject is open-source, web-based project management software. Prior to , the official openproject/openproject Docker image ships ENV SECRET_KEY_BASE=OVERWRITE_ME as the default Rails master key. Combined with cookies_serializer = :marshal, this gives any logged-in user a deterministic Marshal-deserialization path reachable via the /my/two_factor_devices cookie reader This vulnerability is fixed in .
Articles & Coverage 1
AnalysisAI
Authenticated remote code execution affects the official openproject/openproject Docker image, which ships with a hardcoded Rails secret (ENV SECRET_KEY_BASE=OVERWRITE_ME). Because the application uses cookies_serializer = :marshal, any logged-in user who knows this deterministic key can forge a signed cookie containing a malicious Marshal payload that is deserialized when reaching the /my/two_factor_devices cookie reader, yielding code execution on the server (CVSS 9.9, scope-changed). At the time of analysis there is no public exploit identified and the issue is not in CISA KEV, but the predictability of the default key makes exploitation straightforward for anyone running an unmodified image.
Technical ContextAI
OpenProject is a Ruby on Rails web-based project management platform. In Rails, SECRET_KEY_BASE is the master secret used to sign and (with the legacy Marshal serializer) encrypt session and signed cookies; if it is known, an attacker can mint cookies the server will trust. The vulnerable configuration combines a publicly known default key shipped in the Docker image (SECRET_KEY_BASE=OVERWRITE_ME, intended to be overwritten by operators) with cookies_serializer = :marshal, which calls Ruby's Marshal.load on attacker-influenced cookie data. This is a textbook CWE-502 (Deserialization of Untrusted Data) issue: Marshal.load on attacker-controlled bytes instantiates arbitrary Ruby objects and can be chained into gadget-based remote code execution. The affected product per CPE is cpe:2.3:a:opf:openproject:*:*:*:*:*:*:*:* - i.e. OpenProject deployed from the official container image without overriding the key.
RemediationAI
Patch available per vendor advisory: upgrade to the fixed OpenProject release referenced in GHSA-r85r-gjq2-f83r (https://github.com/opf/openproject/security/advisories/GHSA-r85r-gjq2-f83r); the exact patched version number was not provided in the available data, so confirm it directly from that advisory before deploying. As an immediate compensating control that does not require an upgrade, override the default master key by setting a unique, high-entropy SECRET_KEY_BASE (e.g. via the OPENPROJECT_SECRET_KEY_BASE / SECRET_KEY_BASE environment variable or secrets manager) so the OVERWRITE_ME value is never used - this directly removes the deterministic-key prerequisite, though it will invalidate existing sessions and signed cookies, forcing users to re-authenticate. Where feasible, also restrict who can obtain a login (the attack needs an authenticated account) and place the instance behind network access controls to reduce the pool of potential attackers; note these reduce but do not eliminate risk while the default key remains in place.
An issue was discovered in Appsmith before 1.52. Rated critical severity (CVSS 9.8), this vulnerability is remotely expl
runc through version 1.0-rc6 (used in Docker before 18.09.2) contains a container escape vulnerability that allows attac
Netmaker makes networks with WireGuard. Rated high severity (CVSS 7.5), this vulnerability is remotely exploitable, no a
Unauthenticated remote code execution in Marimo ≤0.20.4 allows attackers to execute arbitrary system commands via the `/
The News & Blog Designer Pack - WordPress Blog Plugin - (Blog Post Grid, Blog Post Slider, Blog Post Carousel, Blog Post
Docker 1.3.2 allows remote attackers to execute arbitrary code with root privileges via a crafted (1) image or (2) build
Remote code execution in Gogs through 0.14.2 allows authenticated users (and unauthenticated attackers on default-config
Remote code execution in NocoBase Workflow Script Node (npm @nocobase/plugin-workflow-javascript) allows authenticated l
Docker Desktop Community Edition before 2.1.0.1 allows local users to gain privileges by placing a Trojan horse docker-c
Vasion Print (formerly PrinterLogic) Virtual Appliance Host prior to version 25.2.169 and Application prior to version 2
An issue in Plone Docker Official Image 5.2.13 (5221) open-source software that could allow for remote code execution du
Unauthenticated remote code execution in Kestra orchestration platform before 1.0.45 and 1.3.21 lets anonymous attackers
Same weakness CWE-502 – Deserialization of Untrusted Data
View allSame technique Deserialization
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-39875