CVE-2026-11787 Overview
A heap buffer over-read vulnerability exists in the 389 Directory Server, an enterprise-class Lightweight Directory Access Protocol (LDAP) server. The flaw resides in the ldap_utf8prev() function, which reads bytes preceding the start of a buffer without performing bounds checking. The defect occurs during string filter parsing and can influence internal filter processing behavior. The issue is tracked under [CWE-126: Buffer Over-read]. Red Hat documents the issue in the Red Hat CVE-2026-11787 Advisory and tracks remediation activity in Red Hat Bug Report #2485425.
Critical Impact
An authenticated remote attacker can trigger an out-of-bounds read in LDAP filter parsing, potentially affecting directory confidentiality, integrity, and availability.
Affected Products
- 389 Directory Server (upstream project)
- Red Hat Directory Server distributions referencing the advisory
- Downstream Linux distributions packaging the 389-ds-base component
Discovery Timeline
- 2026-06-09 - CVE-2026-11787 published to NVD
- 2026-06-09 - Last updated in NVD database
Technical Details for CVE-2026-11787
Vulnerability Analysis
The vulnerability resides in the ldap_utf8prev() helper, which walks backward through a UTF-8 string to locate the previous character boundary. When the function is invoked during LDAP string filter parsing, it dereferences bytes immediately before the start of the supplied buffer. No bounds check guards the backward walk against the buffer's lower boundary.
The out-of-bounds read returns adjacent heap memory contents to the parser. Those bytes then influence character classification and filter-token boundaries inside the LDAP filter state machine. Because the read data drives subsequent control flow, attackers can shape filter parsing decisions using values from neighboring heap allocations.
The attack requires network reach to the LDAP service and an authenticated session with low privileges. Successful exploitation can produce limited disclosure of adjacent memory, inconsistent filter evaluation, or process instability that degrades directory availability.
Root Cause
The root cause is missing lower-bound validation in ldap_utf8prev(). The function assumes callers will not invoke it at the start of a buffer, yet filter parsing routines reach this state when malformed or crafted filter strings are processed. The result is a classic [CWE-126] heap buffer over-read.
Attack Vector
An authenticated client submits an LDAP search request carrying a crafted string filter. The filter parser walks pointers backward through the filter buffer and invokes ldap_utf8prev() past the allocation boundary. The function returns heap data from the preceding chunk, which then steers parser decisions and can leak fragments of unrelated directory state into processing logic.
No verified public exploit code is available. Refer to the Red Hat PSIRT Support Ticket #7600 and Red Hat Bug Report #2485425 for upstream technical discussion.
Detection Methods for CVE-2026-11787
Indicators of Compromise
- LDAP search requests containing malformed or unusually structured string filters that fail parsing.
- ns-slapd process crashes, segmentation faults, or AddressSanitizer reports referencing ldap_utf8prev in stack traces.
- Spikes in LDAP error responses such as LDAP_PROTOCOL_ERROR (code 2) tied to filter evaluation.
Detection Strategies
- Enable verbose access logging on 389 Directory Server and review entries containing crafted filter expressions for anomalies.
- Run the directory under memory error detectors such as AddressSanitizer or Valgrind in pre-production to surface over-read conditions.
- Correlate authenticated bind events with subsequent filter-related errors to identify probing behavior.
Monitoring Recommendations
- Forward ns-slapd access and error logs to a centralized analytics platform and alert on repeated filter parsing failures from a single bind DN.
- Monitor process restarts and core dumps for the directory service and trigger investigation on unexpected terminations.
- Track LDAP query latency and error-rate baselines to detect parser-induced degradation.
How to Mitigate CVE-2026-11787
Immediate Actions Required
- Apply the security update referenced in the Red Hat CVE-2026-11787 Advisory as soon as it is available for your distribution.
- Inventory all 389 Directory Server and Red Hat Directory Server instances, including replicas and hub suppliers, to confirm coverage.
- Restrict authenticated LDAP access to trusted networks until patches are deployed.
Patch Information
Red Hat tracks the fix in Red Hat Bug Report #2485425. Consult the vendor advisory for distribution-specific package versions and apply updates through the standard package manager once available. Restart the dirsrv service after upgrading to ensure the patched binary is loaded.
Workarounds
- Limit LDAP bind privileges to the minimum required and review access control instructions (ACIs) to reduce the attacker population.
- Place the directory service behind network segmentation that restricts client reach to known hosts.
- Disable anonymous and unauthenticated bind paths that are not strictly required by applications.
# Restart the Directory Server instance after applying the vendor patch
sudo dnf update 389-ds-base
sudo systemctl restart dirsrv@<instance-name>.service
sudo systemctl status dirsrv@<instance-name>.service
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

