Bug 2529450 - CVE-2026-76560 389-ds-base: 389-ds: anonymous LDAP client can defeat SELFDN ACI bind-rule checks via empty bind DN [fedora-all]
Summary: CVE-2026-76560 389-ds-base: 389-ds: anonymous LDAP client can defeat SELFDN A...
Keywords:
Status: ON_QA
Alias: None
Product: Fedora
Classification: Fedora
Component: 389-ds-base
Version: rawhide
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: ---
Assignee: Viktor Ashirov
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard: {"flaws": ["4ab676a1-67ca-4ee5-bc60-9...
Depends On:
Blocks: CVE-2026-76560
TreeView+ depends on / blocked
 
Reported: 2026-09-07 13:11 UTC by Samuele Negrini
Modified: 2026-09-10 02:16 UTC (History)
6 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Type: ---
Embargoed:
fedora-admin-xmlrpc: mirror+


Attachments (Terms of Use)

Description Samuele Negrini 2026-09-07 13:11:35 UTC
Disclaimer: Community trackers are created by Red Hat Product Security team on a best effort basis. Package maintainers are required to ascertain if the flaw indeed affects their package, before starting the update process.

389 Directory Server's ACI bind-rule evaluator (ldap/servers/plugins/acl/acllas.c) compares a client's bind DN against a stored attribute value using a plain string comparison (slapi_utf8casecmp). An anonymous LDAP bind has an empty-string client DN, and 389-ds's own DN syntax validator (ldap/servers/plugins/syntaxes/dn.c) accepts zero-length attribute values as valid. Where this comparison is reached with the target attribute holding an explicit empty value, an anonymous client's empty DN matches it and satisfies the bind rule with no authentication of any kind.

Independently reproduced and confirmed for two distinct bind-rule/operation combinations:

1. SELFDN on ADD: a minimal test ACI (allow (add) userattr = "owner#SELFDN") on plain 389-ds-base (389-ds-base-3.2.2-2.fc44), zero FreeIPA schema/plugins, was defeated by an anonymous ADD with owner: set to an empty value, while a control case (non-empty, non-matching value) was correctly refused.

2. USERDN on MODIFY: a minimal test ACI (allow (write) userattr = "owner#USERDN") was defeated by an anonymous MODIFY of a protected attribute once the target entry's owner attribute was set to an explicit empty value (not merely absent -- an absent attribute does not trigger the defect, confirmed by direct testing of both cases). A baseline case with owner holding a real, non-matching DN was correctly refused. Root cause confirmed at the code level in DS_LASUserDnAttrEval: userattr="...#USERDN" is explicitly excluded from the SELFDN-only ADD-time fast path in acllas.c, but on MODIFY the evaluator reads the stored attribute value via slapi_entry_attr_find and compares it to the client DN via slapi_utf8casecmp -- an empty stored value matches an anonymous bind's empty DN and access is granted (confirmed via ACL debug trace: "matches(, ) ... allowed by aci").

This confirms the defect is a general logic error in the ACI bind-rule evaluator itself, not limited to one bind-rule type (SELFDN) or one operation type (ADD) -- it reproduces for both SELFDN+ADD and USERDN+MODIFY. Any 389-ds/RHDS deployment defining a userattr="X#SELFDN" or userattr="X#USERDN" bind rule on an attribute permitted to hold an explicit empty value is affected.

Note: FreeIPA ships a default ACI of exactly this vulnerable shape (install/share/default-aci.ldif: "Allow member managers to modify members of user groups", gating write access to the "member" attribute of ipaUserGroup entries via userattr = "memberManager#USERDN" or userattr = "memberManager#GROUPDN"). Whether this specific ACI is exploitable in practice depends on whether any FreeIPA workflow ever sets memberManager to an explicit empty string rather than deleting the attribute outright when a member manager is removed -- that is a FreeIPA-code-level question, not yet confirmed, and is tracked separately from this 389-ds-level defect.

Comment 1 Viktor Ashirov 2026-09-07 18:38:25 UTC
Fixed in https://github.com/389ds/389-ds-base/commit/b803594c9

Comment 2 Fedora Update System 2026-09-07 21:24:35 UTC
FEDORA-2026-b16c9cbc0f (389-ds-base-3.2.3-2.fc44) has been submitted as an update to Fedora 44.
https://bodhi.fedoraproject.org/updates/FEDORA-2026-b16c9cbc0f

Comment 3 Fedora Update System 2026-09-08 01:38:41 UTC
FEDORA-2026-c1e25a4642 has been pushed to the Fedora 45 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2026-c1e25a4642`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2026-c1e25a4642

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 4 Fedora Update System 2026-09-08 01:58:34 UTC
FEDORA-2026-b16c9cbc0f has been pushed to the Fedora 44 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2026-b16c9cbc0f`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2026-b16c9cbc0f

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 5 Fedora Update System 2026-09-08 02:20:58 UTC
FEDORA-2026-0b8bc362b1 has been pushed to the Fedora 43 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2026-0b8bc362b1`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2026-0b8bc362b1

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 6 Fedora Update System 2026-09-09 05:04:34 UTC
FEDORA-2026-b16c9cbc0f has been pushed to the Fedora 44 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2026-b16c9cbc0f`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2026-b16c9cbc0f

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 7 Fedora Update System 2026-09-10 01:46:43 UTC
FEDORA-2026-b16c9cbc0f has been pushed to the Fedora 44 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2026-b16c9cbc0f`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2026-b16c9cbc0f

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 8 Fedora Update System 2026-09-10 02:07:04 UTC
FEDORA-2026-0b8bc362b1 has been pushed to the Fedora 43 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2026-0b8bc362b1`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2026-0b8bc362b1

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 9 Fedora Update System 2026-09-10 02:16:47 UTC
FEDORA-2026-c1e25a4642 has been pushed to the Fedora 45 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2026-c1e25a4642`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2026-c1e25a4642

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.


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