High severity · published Apr 15, 2026
CVE-2026-33667
OpenProject: 2FA OTP Verification Missing Rate Limiting
7.4
CVSS
0.3%
EPSS
No
On KEV
Description
OpenProject is an open-source project management application. In versions prior to 17.3.0, 2FA OTP verification in the confirm_otp action of the two_factor_authentication module has no rate limiting, lockout mechanism, or failed-attempt tracking. The existing brute_force_block_after_failed_logins setting only counts password login failures and does not apply to the 2FA verification stage, and neither the fail_login nor stage_failure methods increment any counter, lock the account, or add any delay. With the default TOTP drift window of ±60 seconds allowing approximately 5 valid codes at any time, an attacker who knows a user's password can brute-force the 6-digit TOTP code at roughly 5-10 attempts per second with an expected completion time of approximately 11 hours. The same vulnerability applies to backup code verification. This effectively allows complete 2FA bypass for any account where the password is known. This issue has been fixed in version 17.3.0.
CVSS vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N
Attack vector
Network
Complexity
High
Privileges
None
User interaction
None
Confidentiality
High
Integrity
High
Availability
None
Scope
Unchanged
Exploitation
Is it being used?
Exploit prediction (EPSS)0.3% · higher than 22% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
OP
openproject · opf
< 17.3.0 · source: vendor, NVD
References
NVD
https://nvd.nist.gov/vuln/detail/CVE-2026-33667
CVE.org
https://www.cve.org/CVERecord?id=CVE-2026-33667
Exploit
https://github.com/opf/openproject/security/advisories/GHSA-234r-45m2-w6cv
More from openproject
9.9
CVE-2026-46386
OpenProject: Pre-authentication RCE in openproject/openproject Docker image via default `SECRET_KEY_BASE=OVERWRITE_ME` and `cookies_serializer = :marshal`
9.9
CVE-2026-52782
OpenProject: IDOR through /projects/<A>/settings/project_storages/<A_ps_id> via PATCH parameter "storages_project_storage[project_folder_id]" leads to Access to Unauthorized Resources
9.9
CVE-2026-52785
OpenProject: SQL injection in timestamps functionality
9.9
CVE-2026-25763
Command Injection on OpenProject repositories leads to Remote Code Execution
9.6
CVE-2026-52780
OpenProject: Cache store poisoning leads to Remote Code Execution (RCE)
