REDHAT-BUG-2519521: High severity 389 Project 389 Directory Server vulnerability

Published Aug 19, 2026
·
Updated

389 Directory Server's SELFDN 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. 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. As a result, any ACI written as userattr="X#SELFDN", where attribute X can legitimately hold an empty value, is satisfied by an anonymous client with no authentication of any kind.

This was originally reported (PSIRTSUPT-21812) as part of a FreeIPA-specific admin-takeover chain, but independently reproduced standalone against plain 389-ds-base (389-ds-base-3.2.2-2.fc44) with zero FreeIPA schema, plugins, or ACIs present: a minimal test ACI (allow (add) userattr = "owner#SELFDN") was defeated by an anonymous bind with owner: set to an empty value, while a control case (non-empty, non-matching value) was correctly refused. This confirms the defect is general to the ACI evaluation engine, not specific to any consuming application.

Any 389-ds/RHDS deployment that defines a SELFDN-based ACI on an attribute permitted to hold an empty value is affected. Reported and confirmed as part of the PSIRTSUPT-21812 investigation; see linked Jira ticket for full technical writeup and reproduction evidence.

Affected Software

1 affected component
389 Project 389 Directory Server=3.2.2-2.fc44

Event History

Aug 19, 2026
Data Sourced
via Red Hat·12:31 PM
DescriptionSeverityAffected Software

Frequently Asked Questions

1

Which deployments are exposed?

Any 389 Directory Server or RHDS deployment that defines a SELFDN-based ACI using an attribute that is permitted to contain an empty value may be exposed. The issue was reproduced in plain 389-ds-base without FreeIPA schema, plugins, or pre-existing ACIs, so it is not limited to FreeIPA deployments.

2

What does an attacker need to exploit this?

An attacker needs only an anonymous LDAP bind when an applicable ACI uses the userattr="X#SELFDN" form and the relevant attribute X has an empty value. No authentication is required because the anonymous client's bind DN is an empty string.

3

Are installations affected by default?

The standalone reproduction required adding a minimal SELFDN-based ACI; the test server had no pre-existing ACIs. Exposure therefore depends on deployed ACI configuration rather than on FreeIPA components or schema being present.

4

How can I identify potentially affected access controls?

Review ACIs for SELFDN user-attribute rules such as userattr="owner#SELFDN". Determine whether the referenced attribute can be set to an empty value and whether anonymous LDAP binds can reach operations authorized by that ACI.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203