Skip to main content

MISP CVE-2026-90961

| EUVDEUVD-2026-77473 CRITICAL
Improper Authentication (CWE-287)
2026-09-14 CIRCL GHSA-5wh5-3jx8-w3gh
9.3
CVSS 4.0 · Vendor: CIRCL
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Enumerate a valid MISP/directory email
  2. Delivery
    Send login POST with empty or non-string password
  3. Exploit
    LdapAuth forwards empty password to ldap_bind()
  4. Execution
    LDAP accepts RFC 4513 unauthenticated bind
  5. Persist
    MISP grants session as impersonated user
  6. Impact
    Access/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.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
Patch available 0.5% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

MISP 0 <2.5.46

Affected Packages

euvd misp fix: 2.5.46

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

Vendor (CIRCL) PRIMARY 9.3 CRITICAL
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
vuln.today AI 9.4 CRITICAL

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.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:L
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:L/SC:N/SI:N/SA:N

Primary rating from Vendor (CIRCL).

CVSS VectorVendor: CIRCL

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
Low
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

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

Why It Matters

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.

Business Impact: Severe
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.5%
Top 61% exploitable
Prevalence
Medium
threat-intel sharing platform common in CERT/SOC teams, optional plugin narrows it
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GitHub VulDB

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.

SignalValue
Severity CRITICAL
CISA KEV No
Public POC No
EPSS 0.5%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
Very High
Technical Impact
Total

Priority Score

46
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +46
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

More in Misp

View all
CVE-2018-19908 HIGH POC
8.8 Dec 06

An issue was discovered in MISP 2.4.9x before 2.4.99. Rated high severity (CVSS 8.8), this vulnerability is remotely exp

CVE-2022-29528 CRITICAL POC
9.8 Apr 20

An issue was discovered in MISP before 2.4.158. Rated critical severity (CVSS 9.8), this vulnerability is remotely explo

CVE-2022-48328 CRITICAL POC
9.8 Feb 20

app/Controller/Component/IndexFilterComponent.php in MISP before 2.4.167 mishandles ordered_url_params and additional_de

CVE-2026-44381 CRITICAL POC
9.3 May 13

SQL injection in MISP threat intelligence platform versions prior to 2.5.37 allows remote unauthenticated attackers to m

CVE-2022-29534 HIGH POC
7.5 Apr 20

An issue was discovered in MISP before 2.4.158. Rated high severity (CVSS 7.5), this vulnerability is remotely exploitab

CVE-2023-37306 HIGH POC
7.5 Jun 30

MISP 2.4.172 mishandles different certificate file extensions in server sync. Rated high severity (CVSS 7.5), this vulne

CVE-2021-41326 CRITICAL
9.8 Sep 17

In MISP before 2.4.148, app/Lib/Export/OpendataExport.php mishandles parameter data that is used in a shell_exec call. R

CVE-2018-12649 CRITICAL
9.8 Jun 22

An issue was discovered in app/Controller/UsersController.php in MISP 2.4.92. Rated critical severity (CVSS 9.8), this v

CVE-2020-15411 CRITICAL
9.8 Jun 30

An issue was discovered in MISP 2.4.128. Rated critical severity (CVSS 9.8), this vulnerability is remotely exploitable,

CVE-2020-29006 CRITICAL
9.8 Nov 24

MISP before 2.4.135 lacks an ACL check, related to app/Controller/GalaxyElementsController.php and app/Model/GalaxyEleme

CVE-2021-35502 CRITICAL
9.8 Jun 25

app/View/Elements/genericElements/IndexTable/Fields/generic_field.ctp in MISP 2.4.144 does not sanitize certain data rel

CVE-2021-39302 CRITICAL
9.8 Aug 19

MISP 2.4.148, in certain configurations, allows SQL injection via the app/Model/Log.php $conditions['org'] value. Rated

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy