/

CVE-2026-11770

Severity:

HIGH RISK

(7.5)

LDAP Injection (CWE-90) in 389 Directory Server RUV Op

CVE-2026-11770

Modified

Vulnerability type

Category:

LDAP Injection

CWE:

CWE-90

Impact:

Sensitive Configuration Disclosure

Severity:

HIGH RISK

(7.5)

CVSS version:

3.1

Catch this CVE while code is being written

Detect vulnerable code directly in pull requests, so CVEs are fixed before merge.

Summary

An LDAP search filter injection flaw in 389 Directory Server's CleanAllRUV extended operation allows an unauthenticated remote attacker to influence privileged configuration queries.

By crafting malicious filters, the attacker can cause searches against cn=config and infer sensitive metadata such as replication bind DNs and password storage scheme details based on boolean match responses.

Affected context

This vulnerability occurs in 389 Directory Server environments that expose the CleanAllRUV replication status-check extended operation to remote clients.

The issue is present when user-supplied filter parameters are incorporated into LDAP searches against cn=config using replication plugin privileges.

In these deployments, the operation's boolean response semantics allow an attacker to probe for the existence and properties of internal configuration entries without prior authentication.

Exploit preconditions

  • Attack surface: Network-accessible LDAP interface exposing the CleanAllRUV replication status-check extended operation
  • Required access: Ability to send unauthenticated LDAP requests to the directory server
  • Trigger point: Invocation of the extended operation with attacker-controlled search filters
  • Why exploitation is possible: The handler directly uses unvalidated, user-supplied filter components in privileged searches against cn=config and returns match/no-match information, enabling systematic metadata enumeration.

Why this happens

The root cause is improper neutralization of special elements in LDAP search filters, aligning with CWE-90: Improper Neutralization of Special Elements used in an LDAP Query ('LDAP Injection').

The CleanAllRUV status-check extended operation accepts filter-like input from the client and passes it into a search against cn=config using elevated replication plugin privileges.

Because the filter is not strictly validated or constrained to a safe subset, an attacker can manipulate it to test for the presence or characteristics of sensitive configuration entries.

The boolean-style result exposes whether specific internal attributes or objects match the injected filter, turning the operation into a side-channel for configuration discovery.

Potential impact

  • An attacker may discover replication bind distinguished names (DNs) used for inter-server trust.
  • An attacker could infer password storage schemes (e.g., hash algorithms, use of reversible encryption) configured on the server.
  • An attacker may map portions of the cn=config tree and understand replication topology and plugin configuration.
  • An attacker could use leaked metadata to tailor further attacks, such as credential phishing or offline password cracking.

General mitigation guidance

Effective mitigation focuses on constraining how client-provided data is used in LDAP queries and reducing exposure of privileged configuration paths.

Common defensive patterns include:

  • Strictly validating and whitelisting allowed filter parameters for extended operations, rejecting any unsupported or complex filter syntax.
  • Decoupling client input from direct searches against cn=config by using fixed, server-side queries and pre-defined checks rather than dynamic filters.
  • Limiting the scope of privileged operations so they only access non-sensitive metadata necessary for replication status assessment.
  • Hardening configuration storage by minimizing the amount of sensitive information exposed in cn=config and segregating high-value secrets where possible.
  • Applying least-privilege principles to replication plugins and extended operations, ensuring they do not exceed the minimal access required.

How teams detect issues like this

High-level detection techniques typically involve:

  • Static analysis rules that flag code paths where user-supplied filter strings are passed into LDAP search APIs without strict validation or canonicalization.
  • Targeted code reviews for extended operations and replication plugins, focusing on any use of cn=config and checking for dynamic query construction.
  • Runtime monitoring and logging of extended operation usage, looking for unusual filter patterns, high-frequency probing, or complex search expressions from unauthenticated sources.
  • Policy enforcement in development pipelines that requires security review for any new LDAP extended operation or configuration-accessing feature.
  • Use of automated security testing tools capable of fuzzing LDAP filters and identifying injection-like behavior or unexpected information disclosure.

Sources

SourceLink
access.redhat.comaccess.redhat.com/errata/RHSA-2026:55421
access.redhat.comaccess.redhat.com/errata/RHSA-2026:55422
access.redhat.comaccess.redhat.com/errata/RHSA-2026:55423
access.redhat.comaccess.redhat.com/errata/RHSA-2026:55424
access.redhat.comaccess.redhat.com/errata/RHSA-2026:55425
access.redhat.comaccess.redhat.com/errata/RHSA-2026:55426
access.redhat.comaccess.redhat.com/errata/RHSA-2026:55530
access.redhat.comaccess.redhat.com/errata/RHSA-2026:55532
access.redhat.comaccess.redhat.com/errata/RHSA-2026:55756
access.redhat.comaccess.redhat.com/errata/RHSA-2026:55757
access.redhat.comaccess.redhat.com/errata/RHSA-2026:55758
access.redhat.comaccess.redhat.com/errata/RHSA-2026:55794
access.redhat.comaccess.redhat.com/errata/RHSA-2026:56047
access.redhat.comaccess.redhat.com/errata/RHSA-2026:56048
access.redhat.comaccess.redhat.com/errata/RHSA-2026:56050
access.redhat.comaccess.redhat.com/errata/RHSA-2026:79217
access.redhat.comaccess.redhat.com/security/cve/CVE-2026-11770
bugzilla.redhat.combugzilla.redhat.com/show_bug.cgi?id=2484802
github.comgithub.com/389ds/389-ds-base/blob/main/ldap/servers/plugins/replication/repl_extop.c

Frequently asked

questions

The described flaw primarily enables information disclosure of configuration metadata rather than direct code execution or credential theft. However, the leaked replication bind DNs and password storage details can significantly aid an attacker in planning follow-up attacks such as targeted credential guessing, social engineering, or offline password cracking.

No, exploitation is possible by an unauthenticated remote attacker who can send LDAP requests to the server. The vulnerable CleanAllRUV extended operation can be invoked without prior authentication in affected configurations, making it a high-risk exposure on network-accessible instances.

The safest pattern is to eliminate direct use of client-controlled filter data in privileged LDAP searches. Instead, extended operations should rely on predefined server-side queries with tightly constrained input parameters. Any user input must be validated against a strict schema or whitelist, and sensitive configuration backends like cn=config should not be queried dynamically based on client filters.

Prevention depends on treating LDAP filters like any other query language: avoid dynamic construction from untrusted input, enforce rigorous validation, and separate privileged configuration access from user-facing operations. Incorporating security reviews for all extended operations, adopting static analysis rules for query construction, and designing plugins with least privilege and minimal configuration visibility will help avoid similar LDAP injection flaws.

Find out what's already
exploitable in your codebase.