CVE-2026-90961 Details
Description
The LdapAuth and LinOTPAuth authentication plugins in MISP contain an authentication bypass vulnerability. Both LdapAuthenticate and LinOTPAuthenticate replace CakePHP's FormAuthenticate class but fail to replicate its _checkFields() input validation guard. As a result, the email and password fields extracted from the login request are passed to downstream authentication logic without verifying that they are non-empty strings. In the LDAP authenticator, an empty or null password is forwarded to ldap_bind(). Per RFC 4513 section 5.1.2, a bind request with a valid DN and an empty password constitutes an unauthenticated bind, which many LDAP directory servers accept as successful. An attacker who knows any valid user email address in the directory can therefore authenticate as that user without possessing a password. Additionally, non-string values (null, false, arrays) are either coerced to empty strings by ldap_bind(), raise TypeErrors, or are misinterpreted as find conditions in _findUser(), all of which can lead to unintended authentication outcomes. In the LinOTP authenticator, the same missing guard allows non-string credentials to be concatenated into the LinOTP verification request, and in the mixed-authentication branch an empty password is accepted against a stored hash of the empty string. A secondary issue in the LDAP authenticator is that newly created user accounts (auto-provisioned on first LDAP login) were assigned an empty password. Because the save path skips validation, the empty string is hashed and stored. If the user later ceases to be found in LDAP and the mixed-authentication fallback is used, the stored hash of the empty string verifies against an empty password, again permitting unauthenticated access. The vulnerability requires that the affected plugin (LdapAuth or LinOTPAuth) is enabled on the MISP instance and that the attacker knows at least one valid email address registered in the directory or MISP user store. No prior authentication is required. Successful exploitation grants the attacker the full privileges of the impersonated user, which may include administrative access to threat intelligence data. Version affected: ≤2.5.45
An authentication bypass vulnerability has been identified in the LdapAuth and LinOTPAuth authentication plugins of MISP, affecting versions through 2.5.45. The issue arises because these plugins replace CakePHP's FormAuthenticate class but do not properly validate input fields, allowing empty or non-string credentials to be processed by the authentication system. In the LdapAuth plugin, this flaw enables unauthenticated binds to LDAP servers, as an empty password is accepted by many directories. Similarly, the LinOTPAuth plugin allows empty passwords to be authenticated against stored hashes, bypassing authentication requirements. Exploitation of this vulnerability grants the attacker the privileges of the impersonated user, which could include administrative access to sensitive threat intelligence data.
Users can update to MISP version 2.5.47, where this vulnerability has been patched.
Metrics
CVSS 4.0 Severity and Vector Strings:
CVSS 3.x Severity and Vector Strings:
No data available for CVSS Version 2.0 on this CVE.
Volerion
Assessed Sep 14, 2026CISA-ADP
Assessed Sep 14, 2026References to Advisories, Solutions, and Tools
By selecting these links, you will be leaving this site. These are references gathered from the official CVE record and are not endorsed by Volerion.
| URL | Source(s) | Tag(s) |
|---|---|---|
| https://github.com/MISP/MISP/commit/0ee058548 | CIRCL | Source CodeVendor |
Weakness Enumeration
Affected Products
| Product | Versions |
|---|---|
| MISP LdapAuth | <= 2.5.45 (semver) |
CPE
Remediation
| |
| MISP LinOTPAuth | <= 2.5.45 (semver) |
CPE
Remediation
| |
Change History
2 change records found show changes
| Date | Action | Recorded By |
|---|---|---|
| Sep 14, 2026 | New CVE Received | CIRCL |
| Sep 14, 2026 | CVE Modified | CISA-ADP |
Volerion