Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach MISP login endpoint
-
DeliverySubmit disabled TOTP-enrolled username
-
ExploitGuard reads undefined disabled key as null
-
ExecutionObserve TOTP prompt vs rejection
-
ImpactInfer account state (minor info disclosure)
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization verification
MITRE ATT&CK
1 technique across 1 tactic: Defense Evasion The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires the target MISP account to be in a specific combined state: disabled AND TOTP (two-factor) enrolled. The attacker must reach the UsersController login() endpoint (network-accessible, no authentication needed) and must be able to distinguish a TOTP-verification prompt from an immediate login rejection. What strictly limits impact: the downstream identify() call re-validates and rejects the disabled account, so no authenticated access is ever granted; the only leak is the difference in login response for the narrow disabled-plus-TOTP-enrolled population. There is no confidentiality of stored data, no integrity, and no availability impact. |
| Impact | This is a high-CVSS-but-negligible-real-risk finding. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N/VC:L, base 6.9 Medium) reflects only a low-confidentiality impact reachable remotely without auth, and even that overstates reality. The vulnerability class is CWE-285 improper authorization, but the commit diff and the description confirm no actual authorization decision is bypassed: the omitted User.disabled column makes the disabled-user guard in the TOTP branch a no-op, yet the subsequent identify() call re-validates and still rejects the disabled account. The commit message itself labels this 'harmless in practice.' No EPSS score, no CISA KEV listing, and no public exploit code are present in the input - consistent with a low-value bug. The only observable effect is a login-response distinguisher (a TOTP prompt is shown to a disabled TOTP-enrolled user instead of immediate rejection) plus a PHP 'Undefined array key' warning in logs. Note the tension: the CVSS base score of 6.9 and the 'Authentication Bypass' tag both imply a meaningful auth flaw, but the source-of-truth commit demonstrates authentication is NOT bypassed - treat the score/tag as inflated relative to the vendor's own analysis. |
| Exploit ScenarioDerived | An unauthenticated attacker who knows or guesses that a specific MISP account has been disabled but still has TOTP enrolled submits that username to the login endpoint and observes whether a TOTP prompt is returned versus an immediate rejection, inferring the account's disabled/TOTP-enrolled state. No credential compromise or session results, since identify() still refuses to authenticate the disabled account. No public exploit code is identified at time of analysis. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 22, 2026
MISP's pre-authentication TOTP login path can reveal that a disabled account is TOTP-enrolled because the database query omits User.disabled, causing the disabled-account check to evaluate as false and present a TOTP prompt instead of an immediate rejection. This affects unauthenticated remote attackers who can reach UsersController::login(), but no authenticated access is granted because the downstream identify() call re-validates and rejects the disabled account. The practical impact is negligible: a small login-response information leak and a PHP undefined-array-key warning; no public exploit was identified at time of analysis, and the independent assessment rates the issue as low confidentiality impact only.
RemediationAI
Upstream fix available (PR/commit); released patched version not independently confirmed. The primary remediation is to apply MISP commit 3df982ab1 or a subsequent MISP release that includes it, which changes the login TOTP query to select User.disabled and restores the disabled-account guard. Because no tagged release is independently confirmed, verify the fix in the vendor repository before deployment. If immediate upgrade is not possible, the impact is narrow enough that emergency network controls are not proportionate; instead, monitor PHP logs for 'Undefined array key "disabled"' from UsersController::login() to detect probing of the TOTP branch, and ensure account-disable workflows either clear TOTP secrets or explicitly handle disabled-plus-TOTP accounts. Trade-offs: log monitoring is detection-only and may be noisy from unrelated PHP warnings, while clearing TOTP enrollment for disabled accounts reduces two-factor coverage if the account is later re-enabled without re-enrollment. Blocking or restricting the login endpoint would prevent legitimate authentication and is not recommended for this negligible-risk issue. Refer to https://github.com/MISP/MISP/commit/3df982ab1 for the exact code change.
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 is a PHP/CakePHP application, and the affected code is the login() method in app/Controller/UsersController.php. The pre-authentication database query for the TOTP branch selected only User.password, User.totp, and User.hotp_counter, omitting User.disabled. When the code later read $unauth_user['User']['disabled'], PHP emitted an 'Undefined array key' warning and treated the missing value as null, so the disabled-user guard in the TOTP branch became a no-op. This is a CWE-285 improper authorization weakness, but the commit message and independent assessment both note that the subsequent identify() call re-validates the user and still rejects disabled accounts. The assessed vector CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N reflects an unauthenticated remote issue with only low confidentiality impact; the published CVSS 4.0 score is 6.9, but real-world risk is limited by the downstream revalidation.
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:L/VI:N/VA:N/SC:N/SI:N/SA:N
Remotely reachable pre-auth login path (AV:N/AC:L/PR:N/UI:N); only a minor login-response information difference (C:L), no integrity or availability effect and no real auth bypass.
Primary rating from Vendor (5a6e4751-2f3f-4070-9419-94fb35b644e8).
CVSS VectorVendor: 5a6e4751-2f3f-4070-9419-94fb35b644e8
Lifecycle Timeline
1DescriptionCVE.org
In MISP's UsersController login() method, the pre-authentication database query used for the TOTP (two-factor authentication) verification branch did not include the User.disabled column in its SELECT fields list. The query selected only User.password, User.totp, and User.hotp_counter. When the TOTP branch subsequently accessed $unauth_user['User']['disabled'], the key was absent from the result set, producing a PHP 'Undefined array key' warning and causing the expression to evaluate as null (falsy). As a result, the disabled-user guard in the TOTP branch was effectively a no-op: a disabled, TOTP-enrolled user could proceed to the TOTP verification step rather than being rejected at that point.
The commit message explicitly states this was 'harmless in practice' because the subsequent identify() call re-validates the user and would still reject a disabled account.
The practical security impact is therefore minimal, limited to a very small information-disclosure difference in the login response (a TOTP prompt is presented instead of an immediate rejection) and a PHP warning in application logs.
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-84499
GHSA-w52q-73m7-hm7j
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB