Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessEnumerate a valid MISP/directory email
-
DeliverySend login POST with empty or non-string password
-
ExploitLdapAuth forwards empty password to ldap_bind()
-
ExecutionLDAP accepts RFC 4513 unauthenticated bind
-
PersistMISP grants session as impersonated user
-
ImpactAccess/modify threat-intel data with victim privileges
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Authentication mechanism validation
MITRE ATT&CK
2 techniques across 2 tactics: Defense Evasion, Initial Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires that the target MISP instance has the optional LdapAuth or LinOTPAuth authentication plugin enabled (neither is the default), and that the attacker knows at least one valid email address registered in the directory or MISP user store. No prior authentication is required (PR:N). The LDAP empty-password path further depends on the backing LDAP directory accepting unauthenticated binds (RFC 4513 §5.1.2), a server-side configuration outside attacker control that limits exploitation against hardened directories; the LinOTP mixed-authentication path and the empty-password-hash provisioning path are additional independent vectors. Instances using only MISP's stock password authentication are not exploitable. |
| Impact | The vendor CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:L, score 9.3) reflects a network-reachable, unauthenticated, low-complexity bypass with high confidentiality/integrity impact - consistent with full account impersonation of sensitive threat-intelligence data. However, signals conflict on real-world urgency: CISA SSVC records Exploitation=none and Automatable=no, and no EPSS score, KEV listing, or POC was provided, so this is currently a high-severity-but-not-yet-exploited issue rather than an active-attack priority. Two real limiters temper the raw score: exploitation only works if the LdapAuth or LinOTPAuth plugin is enabled (both are optional, non-default), and the LDAP empty-password path additionally depends on the backing directory being configured to accept unauthenticated/anonymous binds - a server-side setting the attacker does not control. AC:L is arguably generous given that dependency; treat it as AC:H in hardened directories. The attacker must also know a valid email, which is low-effort reconnaissance. Net: prioritize patching on any MISP instance running these plugins, but instances using default password auth are unaffected. |
| Exploit ScenarioDerived | An attacker learns a MISP org's user email format (e.g. from a public CIRCL/CERT contact page) and submits a login POST for admin@victim-cert.example with a blank password to a MISP instance running LdapAuth. The plugin forwards the empty password to ldap_bind(), the directory answers the unauthenticated bind with success, and MISP issues a session with that user's full privileges - including access to and modification of shared threat-intelligence events. No public exploit is identified at time of analysis, but the request is trivial to craft. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 15, 2026
Authentication bypass in MISP's optional LdapAuth and LinOTPAuth plugins (versions ≤2.5.45) lets a remote unauthenticated attacker log in as any user whose email they know, without a password. Because LdapAuthenticate and LinOTPAuthenticate reimplement CakePHP's FormAuthenticate but omit its _checkFields() non-empty-string guard, an empty/null password reaches ldap_bind() and - per RFC 4513 §5.1.2 - is treated as an unauthenticated bind that many directories accept as success; impersonation grants the victim's full privileges, potentially administrative. There is no public exploit identified at time of analysis, and SSVC lists exploitation as none, but the technical impact is rated total.
RemediationAI
Vendor-released patch: upgrade to MISP 2.5.46 or later, which adds the missing is_string/non-empty guard to both authenticators and provisions auto-created LDAP users with a random password instead of an empty string (commit 0ee058548). If you cannot upgrade immediately, disable the LdapAuth and LinOTPAuth plugins and fall back to MISP's built-in password authentication (trade-off: users lose LDAP/LinOTP SSO/OTP login until patched). As a directory-side compensating control, reconfigure the LDAP server to reject unauthenticated/anonymous binds (RFC 4513 §5.1.2), which neutralizes the empty-password LDAP path but not the LinOTP mixed-auth empty-hash path; this may break legitimate applications that rely on anonymous binds. Additionally audit any accounts auto-provisioned by LdapAuth before the fix and force a password reset, since they may carry a stored hash of the empty string. Advisory references: https://github.com/MISP/MISP/commit/0ee058548 and https://vuldb.com/vuln/403547.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
MISP (Malware Information Sharing Platform) is a PHP/CakePHP threat-intelligence sharing application (CPE cpe:2.3:a:misp:misp). The affected code is in two pluggable authentication components, app/Plugin/LdapAuth and app/Plugin/LinOTPAuth, which extend MISP's login to bind against an LDAP directory or a LinOTP OTP server. CakePHP's stock FormAuthenticate enforces credential sanity in a private _checkFields() method that rejects missing, empty, or non-string email/password values. Because both plugins replace FormAuthenticate rather than subclassing it, they never inherited that guard, so raw request fields flow straight into getUser(). Root cause is CWE-287 (Improper Authentication): an empty password to LDAP produces an RFC 4513 unauthenticated bind; non-string values (null, false, arrays) are coerced to '', raise TypeErrors, or are misread as CakePHP find conditions in _findUser(). A secondary flaw auto-provisioned new LDAP users with an empty password that beforeSave() hashed and stored (bypassing beforeValidate()'s random-password substitution because the save skips validation), so the mixed-authentication fallback later verifies a hash of '' against an empty password.
Know when Misp gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:L/SC:N/SI:N/SA:N
Network-reachable unauthenticated bypass (AV:N/PR:N/UI:N); account impersonation yields high C/I and low A; AC:L for the trivial empty-password request, though directory-config dependence could justify AC:H.
Primary rating from Vendor (CIRCL).
CVSS VectorVendor: CIRCL
DescriptionCVE.org
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
Executive ViewAI
MISP, a platform used to share and analyze threat intelligence across security teams, has a critical authentication flaw in optional identity plugins (LdapAuth, LinOTPAuth) affecting versions through 2.5.45. An external attacker knowing a user's email can log in without a password and assume their privileges, potentially including administrative rights-allowing them to modify shared threat data, steal confidential intelligence, or disrupt security operations.
Apply vendor patch.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
An issue was discovered in MISP 2.4.9x before 2.4.99. Rated high severity (CVSS 8.8), this vulnerability is remotely exp
An issue was discovered in MISP before 2.4.158. Rated critical severity (CVSS 9.8), this vulnerability is remotely explo
app/Controller/Component/IndexFilterComponent.php in MISP before 2.4.167 mishandles ordered_url_params and additional_de
SQL injection in MISP threat intelligence platform versions prior to 2.5.37 allows remote unauthenticated attackers to m
An issue was discovered in MISP before 2.4.158. Rated high severity (CVSS 7.5), this vulnerability is remotely exploitab
MISP 2.4.172 mishandles different certificate file extensions in server sync. Rated high severity (CVSS 7.5), this vulne
In MISP before 2.4.148, app/Lib/Export/OpendataExport.php mishandles parameter data that is used in a shell_exec call. R
An issue was discovered in app/Controller/UsersController.php in MISP 2.4.92. Rated critical severity (CVSS 9.8), this v
An issue was discovered in MISP 2.4.128. Rated critical severity (CVSS 9.8), this vulnerability is remotely exploitable,
MISP before 2.4.135 lacks an ACL check, related to app/Controller/GalaxyElementsController.php and app/Model/GalaxyEleme
app/View/Elements/genericElements/IndexTable/Fields/generic_field.ctp in MISP 2.4.144 does not sanitize certain data rel
MISP 2.4.148, in certain configurations, allows SQL injection via the app/Model/Log.php $conditions['org'] value. Rated
EUVD-2026-77473
GHSA-5wh5-3jx8-w3gh
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB