Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1336 CNY

100%

CVE-2026-90961— MISP LdapAuth and LinOTPAuth Authentication Bypass via Empty or Non-String Credentials

Quick assessment

Affected
MISP MISP
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

MISP 中的 LdapAuth 和 LinOTPAuth 身份验证插件存在一个认证绕过漏洞。这两个插件中的 LdapAuthenticate 和 LinOTPAuthenticate 虽然替代了 CakePHP 的 FormAuthenticate 类,但未能复现其 输入验证机制。结果,从登录请求中提取的电子邮件和密码字段在进入后续认证逻辑之前,没有经过“是否为非空字符串”的验证。 LDAP 认证器方面: 空或 null 密码会被直接传递给 。根据 RFC 4513 第 5.1.2 节,带有有效 DN 且密码为空

CVSS 9.3 · Critical
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-90961

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
MISP LdapAuth and LinOTPAuth Authentication Bypass via Empty or Non-String Credentials
Source: CVE Program / CVE List V5
Vulnerability 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
Source: CVE Program / CVE List V5
CVSS Information
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
Source: CVE Program / CVE List V5
Vulnerability Type
认证机制不恰当
Source: CVE Program / CVE List V5

Affected Products

Vendor Product Affected Versions CPE Subscribe
MISP MISP 0 ~ 2.5.46 -

II. Public POCs for CVE-2026-90961

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-90961

登录查看更多情报信息。

Patches & Fixes for CVE-2026-90961 (1)

Same Patch Batch · MISP · 2026-09-14 · 5 CVEs total

CVE-2026-90895 8.4 HIGH MISP Interactive CLI Shell: Authorization Bypass, Credential Exposure, and Terminal Inject
CVE-2026-90893 5.1 MEDIUM MISP UserSettingsController CSRF Protection Bypass on setTheme, setHomePage, and eventInde
CVE-2026-90957 5.1 MEDIUM MISP: Stored XSS via Inline-Served SVG Organisation Logos and Report Pictures
CVE-2026-90955 4.6 MEDIUM MISP CLI Shell Audit Logs Lose User Identity and CLI Marker After First Lazy Model Load

IV. Related Vulnerabilities

V. Comments for CVE-2026-90961

No comments yet


Leave a comment