{"answers":{"affected":"3 open source packages ship an affected version, including keystone.","exploited":"There is no known exploitation of CVE-2026-40683 in the wild and no public exploit code.","fix":"Upgrade keystone to 28.0.1 or later.","what":"CVE-2026-40683 is a high-severity authentication bypass vulnerability in OpenStack Keystone, published on 14 Apr 2026. Any signed-in user can exploit it over the network, with no action from the victim."},"fix_prompt":"Check this codebase for CVE-2026-40683 and fix it if it is affected.\n\nWhat it is: CVE-2026-40683 is a high-severity authentication bypass vulnerability in OpenStack Keystone, published on 14 Apr 2026. Any signed-in user can exploit it over the network, with no action from the victim.\nExploitation: There is no known exploitation of CVE-2026-40683 in the wild and no public exploit code.\n\nAffected packages and fixed versions:\n- keystone (PyPI): affected all versions; fixed in 28.0.1\n- keystone (PyPI): affected all versions; fixed in 28.0.1\n- keystone (PyPI): affected all versions; fixed in 28.0.1\n\nTask:\n1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.\n2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.\n3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.\n4. Run the tests and summarise what changed and why.\n5. If nothing in the project is affected, say so and change nothing.\n\nReference: https://insights.sbomify.com/CVE-2026-40683/ (Markdown: https://insights.sbomify.com/CVE-2026-40683/index.md)","id":"CVE-2026-40683","markdown":"https://insights.sbomify.com/CVE-2026-40683/index.md","name":"CVE-2026-40683","record":{"aliases":["DEBIAN-CVE-2026-40683","GHSA-pfx2-9x9m-7ghx","PYSEC-2026-2550"],"analysis":{"component_type":"server_software","fix_type":"upgrade","impacts":["privilege_escalation","security_bypass"],"network_reachable":"yes","non_default_config":false,"product_category":"OpenStack Keystone","requires_auth":"low_privilege","summary":"Disabled LDAP users can authenticate and perform actions in OpenStack Keystone due to incorrect boolean conversion of the enabled attribute.","user_interaction":"not_required","vuln_class":"auth_bypass"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"mitre","cpe":[],"cvss":{"score":7.7,"severity":"high","source":"cna","vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:L/I:L/A:H","version":"3.1"},"cwes":[{"id":"CWE-843","name":"Access of Resource Using Incompatible Type"}],"description":"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.","ecosystems":["PyPI"],"exploits":{"exploitdb":0,"first_seen":null,"github_poc":0,"max_poc_stars":null,"metasploit":0,"nuclei":0,"refs":[],"tier":"none_known"},"has_fix":true,"headline":"OpenStack Keystone: LDAP identity backend does not convert enabled attribute to boolean","id":"CVE-2026-40683","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":"PyPI","product":null,"products":[],"type":"auth_bypass","year":"2026"},"n_packages":3,"n_references":4,"next":{"headline":"Denial of service in Exim","id":"CVE-2026-40684"},"packages":[{"ecosystem":"PyPI","fixed":["28.0.1"],"introduced":["0"],"last_affected":[],"package":"keystone","purl":null,"source":"GHSA-pfx2-9x9m-7ghx"},{"ecosystem":"PyPI","fixed":["28.0.1"],"introduced":["0"],"last_affected":[],"package":"keystone","purl":"pkg:pypi/keystone","source":"GHSA-pfx2-9x9m-7ghx"},{"ecosystem":"PyPI","fixed":["28.0.1"],"introduced":["0"],"last_affected":[],"package":"keystone","purl":"pkg:pypi/keystone","source":"PYSEC-2026-2550"}],"prev":{"headline":"Apache OpenNLP: XXE via Dictionary Parsing in DictionaryEntryPersistor","id":"CVE-2026-40682"},"products":["Keystone"],"published":"2026-04-14","related":[],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"},{"class":"attribution","licence":"CC BY 4.0","name":"GitHub Advisory Database","prefix":"GHSA"},{"class":"attribution","licence":"CC BY 4.0","name":"PyPA Advisory Database","prefix":"PYSEC"},{"class":"attribution","licence":"CWE Terms of Use","name":"CWE (MITRE)"},{"class":"attribution","licence":"FIRST CVSS licence","name":"CVSS (FIRST)"}],"ssvc":{"automatable":"no","exploitation":"none","technical_impact":"partial"},"state":"PUBLISHED","updated":"2026-08-05","vendors":["OpenStack"]},"summary":"Disabled LDAP users can authenticate and perform actions in OpenStack Keystone due to incorrect boolean conversion of the enabled attribute.","url":"https://insights.sbomify.com/CVE-2026-40683/"}