Skip to content

Open Redirect Vulnerability in Sign-In in default configuration of OpenProject packaged installation

Moderate
oliverguenther published GHSA-g92v-vrq6-4fpw Jul 25, 2024

Package

OpenProject

Affected versions

< 14.3.0

Patched versions

14.3.0

Description

Summary

Using a forged HOST header in the default configuration of packaged installations and using the "Login required" setting, an attacker could redirect to a remote host to initiate a phishing attack against an OpenProject user's account.

This vulnerability affects default packaged installation of OpenProject without any additional configuration or modules on Apache (such as mod_security, manually setting a host name, having a fallthrough VirtualHost). It might also affect other installations that did not take care to fix the HOST/X-Forwarded-Host headers.

Mitigation

We strongly recommend all users to update to the latest version which includes stronger protections for the hostname from within the application using the HostAuthorization middleware of Rails (https://guides.rubyonrails.org/configuring.html#actiondispatch-hostauthorization) to reject any requests with a host name that does not match the configured one. Also, all generated links by the application are now ensured to use the built-in hostname.

Releases

OpenProject version 14.3.0
contains additional measures to protect against Host header injections from within the application.

Workaround

For users who aren't able to upgrade immediately, please use mod_security for Apache2 or manually fix the Host and X-Forwarded-Host headers in your proxying application before reaching the application server of OpenProject.

Alternatively, you can use this patch to opt-in to host header protections in previous versions of OpenProject (>= 12.0)
host-protection.patch

Credits

This vulnerability was responsibly disclosed by Robin Webber of Harvard University. We are grateful for their diligence and commitment to ensuring the security of our application.

Severity

Moderate

CVSS overall score

This score calculates overall vulnerability severity from 0 to 10 and is based on the Common Vulnerability Scoring System (CVSS).
/ 10

CVSS v3 base metrics

Attack vector
Network
Attack complexity
Low
Privileges required
None
User interaction
Required
Scope
Changed
Confidentiality
None
Integrity
Low
Availability
None

CVSS v3 base metrics

Attack vector: More severe the more the remote (logically and physically) an attacker can be in order to exploit the vulnerability.
Attack complexity: More severe for the least complex attacks.
Privileges required: More severe if no privileges are required.
User interaction: More severe when no user interaction is required.
Scope: More severe when a scope change occurs, e.g. one vulnerable component impacts resources in components beyond its security scope.
Confidentiality: More severe when loss of data confidentiality is highest, measuring the level of data access available to an unauthorized user.
Integrity: More severe when loss of data integrity is the highest, measuring the consequence of data modification possible by an unauthorized user.
Availability: More severe when the loss of impacted component availability is highest.
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:N/I:L/A:N

CVE ID

CVE-2024-41801

Weaknesses

Credits