CVE-2026-40683: In OpenStack Keystone before 28.0.1, the LDAP identity backend does not convert the user enabled attribute...
In OpenStack Keystone before 28.0.1, the LDAP identity backend does not convert the user enabled attribute to a boolean when the user_enabled_invert configuration option is False (the default). The _ldap_res_to_model method in the UserApi class only performed string-to-boolean conversion when user_enabled_invert was True. When False, the raw string value from LDAP (e.g., "FALSE") was used directly. Since non-empty strings are truthy in Python, users marked as disabled in LDAP were treated as enabled by Keystone, allowing them to authenticate and perform actions. All deployments using the LDAP identity backend without user_enabled_invert=True or user_enabled_emulation are affected.
Security readout for executives and security teams
Plain-English summary
Keystone can mistakenly treat an LDAP account marked disabled as enabled. An affected user could still authenticate and act through OpenStack, undermining account suspension and potentially affecting confidentiality, integrity, and service availability.
Executive priority
Treat this as urgent wherever LDAP-backed Keystone is used. Account-disable controls may be ineffective, so immediately identify affected configurations, apply a confirmed fix, and investigate whether disabled accounts authenticated while vulnerable.
Technical view
Before Keystone 28.0.1, the LDAP backend leaves the enabled attribute as a string when user_enabled_invert is False. Python treats non-empty strings, including "FALSE", as true. Deployments using LDAP without inversion or enabled emulation are affected. CVSS 3.1 is 7.7 (high), categorized as CWE-843.
Likely exposure
Exposure is limited to Keystone deployments using the LDAP identity backend where user_enabled_invert is not True and user_enabled_emulation is not configured. Confirm exact branch exposure because the supplied version data does not identify fixed backports for older supported releases.
Exploitation context
The bundle reports that this CVE is not in KEV and provides no cited evidence of active exploitation. Exploitation requires an account represented as disabled in LDAP, but successful authentication could permit actions that administrators expected the disabled state to prevent.
Researcher notes
The defect is a type-conversion error: a raw LDAP string crosses an authorization boundary without boolean normalization. The supplied record identifies 28.0.1 as fixed, but branch-specific backport coverage is incomplete. Validation should focus on effective configuration and disabled-account behavior without assuming every Keystone deployment is exposed.
Mitigation direction
Upgrade Keystone to 28.0.1 or a vendor-confirmed fixed backport.
Check current OpenStack guidance for branch-specific patches before upgrading older releases.
Evaluate enabled inversion or emulation only after confirming the intended LDAP attribute semantics.
Validation and detection
Inventory Keystone versions and identify deployments using the LDAP identity backend.
Check effective user_enabled_invert and user_enabled_emulation settings.
Using a controlled test account, verify that LDAP-disabled users cannot authenticate.
Review successful authentication and activity associated with accounts disabled in LDAP.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · low confidence lookup
CWE-843: Exact CWE lookup
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-843 · source CWE mapping
Access of Resource Using Incompatible Type ('Type Confusion')
Access of Resource Using Incompatible Type ('Type Confusion') represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.