CVE-2026-11787
Description
A flaw was found in 389 Directory Server. The ldap_utf8prev() function reads bytes before the start of a buffer without bounds checking, causing a heap buffer over-read in string filter parsing that may influence internal filter processing behavior.
Statement
Red Hat rates this issue as Moderate impact. In 389-ds-base, internal text-based LDAP filter parsing can read up to six bytes before a heap buffer when a filter string has = at or near the start. Production builds do not crash; the practical effect is silent filter misparse—search results may be wrong, including where ACIs use targetfilter.
This path is not reached by normal LDAP search filters on the wire (BER-encoded filters use a separate parser). An attacker must influence internal filter strings—for example plugin configuration (originFilter, nsUniqueAttribute), ACI definitions, or replication-delivered config. NVD rates this 6.3 (AC:L); Red Hat rates 5.0 (AC:H, PR:L) because exploitation requires those internal paths, not direct network filter injection.
Mitigation
No direct workaround addresses the code-level bug; network-level mitigations (proxies, WAFs, filter validation) do not apply. Mitigation measures to reduce exposure: restrict plugin configuration access (MEP originFilter, UID uniqueness nsUniqueAttribute, strict ACIs on cn=config); restrict Directory Manager access for ACI, MEP, or uniqueness plugin configuration; harden replication topology to restrict replication peers; monitor for anomalous search result sets that may indicate exploitation.
Common Vulnerability Scoring System (CVSS) Score Details
Info alert:Important note
CVSS scores for open source components depend on vendor-specific factors (e.g. version or build chain). Therefore, Red Hat's score and impact rating can be different from NVD and other vendors. Red Hat remains the authoritative CVE Naming Authority (CNA) source for its products and services (see Red Hat classifications).
The following CVSS metrics and score provided are preliminary and subject to review.
CVSS v3 Score Breakdown
| Red Hat | NVD | cve.org | |
|---|---|---|---|
| Base Score | 5 | 6.3 | 5 |
| Attack Vector | Network | Network | Network |
| Attack Complexity | High | Low | High |
| Privileges Required | Low | Low | Low |
| User Interaction | None | None | None |
| Scope | Unchanged | Unchanged | Unchanged |
| Confidentiality | Low | Low | Low |
| Integrity Impact | Low | Low | Low |
| Availability Impact | Low | Low | Low |
Vector
Red Hat: CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:L
NVD: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L
cve.org: CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:L
Red Hat CVSS v3 Score Explanation
AC:H — not reachable via LDAP wire protocol (BER filters). PR:L for internal/plugin paths. No production crash; ASan confirmed.
Understanding the Weakness (CWE)
Confidentiality
Technical Impact: Read Memory
Confidentiality
Technical Impact: Bypass Protection Mechanism
By reading out-of-bounds memory, an attacker might be able to get secret values, such as memory addresses, which can bypass protection mechanisms such as ASLR in order to improve the reliability and likelihood of exploiting a separate weakness to achieve code execution instead of just denial of service.
Availability,Integrity
Technical Impact: DoS: Crash, Exit, or Restart
An attacker might be able to cause a crash or other denial of service by causing the product to read a memory location that is not allowed (such as a segmentation fault), or to cause other conditions in which the read operation returns more data than is expected.
Acknowledgements
This issue was discovered by Ian Murphy (Red Hat).
Frequently Asked Questions
Not sure what something means? Check out our Security Glossary.
Want to get errata notifications? Sign up here.