Bug 2510617 (CVE-2026-18651) - CVE-2026-18651 389-ds-base: 389-ds-base: SASL PLAIN bind installs connection credentials before account-lock check, allowing continued access as a locked account
Summary: CVE-2026-18651 389-ds-base: 389-ds-base: SASL PLAIN bind installs connection ...
Keywords:
Status: NEW
Alias: CVE-2026-18651
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Product Security
QA Contact:
URL:
Whiteboard:
Depends On: 2510684
Blocks:
TreeView+ depends on / blocked
 
Reported: 2026-08-03 11:51 UTC by OSIDB Bzimport
Modified: 2026-08-03 14:49 UTC (History)
11 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Embargoed:


Attachments (Terms of Use)

Description OSIDB Bzimport 2026-08-03 11:51:02 UTC
A flaw was found in 389 Directory Server (389-ds-base). In ids_sasl_check_bind(), on a successful SASL_OK from the underlying Cyrus SASL library, the connection is marked SASL-complete and bind credentials are installed via bind_credentials_set_nolock() before the account-lock check (slapi_check_account_lock()) is performed for non-root binds. If the subsequent lock check determines the account is locked (nsAccountLock: true), the bind is failed and reported to the client, but the already-installed SASL-complete flag and bind credentials are not reverted. A client that already knows the correct password for an account that has since been administratively locked can bind via SASL PLAIN, receive an "account locked" failure response, and continue using the same, already-authenticated TCP connection to perform further LDAP operations as that account -- defeating account lock as an access-revocation control. Setting nsslapd-close-on-failed-bind does not mitigate this. This finding was independently reported by two unrelated parties (OpenAI Security Research and Andrew Rukin of Arenadata) who converged on the identical root cause.


Note You need to log in before you can comment on or make changes to this bug.