CVE-2026-15041 Overview
CVE-2026-15041 is a timing side-channel vulnerability in the 389 Directory Server, an enterprise-class Lightweight Directory Access Protocol (LDAP) server. The PBKDF2-SHA256 password verification function uses the standard memcmp() routine to compare password hashes instead of a constant-time comparison function. A remote attacker could measure LDAP bind response timing to infer partial hash information. Practical exploitation is extremely difficult because PBKDF2 computational overhead dominates the observable timing signal. The issue is tracked under [CWE-208: Observable Timing Discrepancy].
Critical Impact
Remote timing measurements against LDAP bind attempts could leak partial password hash information, though exploitation complexity is high.
Affected Products
- 389 Directory Server (upstream project)
- Red Hat Directory Server (see Red Hat CVE-2026-15041 Advisory)
- Downstream distributions packaging 389-ds-base
Discovery Timeline
- 2026-07-08 - CVE-2026-15041 published to NVD
- 2026-07-08 - Last updated in NVD database
Technical Details for CVE-2026-15041
Vulnerability Analysis
The flaw resides in the PBKDF2-SHA256 password scheme plugin of 389 Directory Server. When a client submits an LDAP bind request, the server derives a candidate hash from the supplied password and compares it against the stored hash. The comparison uses memcmp(), which returns as soon as the first differing byte is encountered. This early-exit behavior produces measurable timing differences correlated with how many leading bytes of the derived hash match the stored value.
An attacker with network access to the LDAP service can issue crafted bind attempts and measure server response latency. Over many samples, statistical analysis of timing distributions could reveal byte-by-byte information about the stored hash. However, the PBKDF2 key derivation function performs thousands of iterations of SHA-256 before comparison, introducing significant timing noise that masks the memcmp() signal.
Root Cause
The root cause is the use of a variable-time byte comparison routine for security-sensitive hash matching. Constant-time comparison functions such as CRYPTO_memcmp() or timingsafe_bcmp() exist specifically to avoid this class of side channel. The 389 Directory Server code path did not adopt one for PBKDF2-SHA256 verification.
Attack Vector
Exploitation requires network reachability to the LDAP bind interface and the ability to issue a large volume of authentication attempts. The attacker does not need credentials or user interaction. Confidentiality impact is limited to partial hash disclosure. Integrity and availability are unaffected. The vulnerability manifests only during bind operations that reach the PBKDF2-SHA256 verification path.
No public proof-of-concept, exploit code, or in-the-wild exploitation has been reported. See the Red Hat Bugzilla Report #2498022 for the upstream discussion.
Detection Methods for CVE-2026-15041
Indicators of Compromise
- High-volume LDAP bind attempts from a single source targeting the same account
- Repeated failed binds with minor password variations across short intervals
- Unusual latency-probing patterns against port 389 or 636
Detection Strategies
- Monitor 389 Directory Server access logs for burst patterns of BIND operations resulting in err=49 (invalid credentials) from a common client
- Alert on statistically abnormal bind rates against service or administrative accounts
- Correlate LDAP authentication failures with network flow data to identify timing-probe behavior
Monitoring Recommendations
- Enable verbose LDAP access logging and forward events to a centralized analytics platform
- Track per-account bind failure rates and set thresholds appropriate for the environment
- Review authentication telemetry for repeated single-account probing over extended timeframes
How to Mitigate CVE-2026-15041
Immediate Actions Required
- Apply vendor updates for 389-ds-base once available from your distribution
- Restrict LDAP service exposure to trusted network segments and management VLANs
- Enforce account lockout or rate limiting on repeated bind failures
- Review authentication logs for signs of high-volume probing against service accounts
Patch Information
Consult the Red Hat CVE-2026-15041 Advisory for fixed package versions and downstream availability. Upstream fixes replace memcmp() with a constant-time comparison in the PBKDF2-SHA256 password scheme.
Workarounds
- Place LDAP servers behind a firewall that permits access only from authorized clients
- Deploy rate limiting or connection throttling on LDAP listeners to raise the cost of timing probes
- Consider migrating to alternative password storage schemes if the environment permits, pending vendor patch
# Example: restrict LDAP access with firewalld to trusted subnets
firewall-cmd --permanent --zone=internal --add-source=10.0.0.0/24
firewall-cmd --permanent --zone=internal --add-service=ldap
firewall-cmd --permanent --zone=internal --add-service=ldaps
firewall-cmd --permanent --zone=public --remove-service=ldap
firewall-cmd --permanent --zone=public --remove-service=ldaps
firewall-cmd --reload
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

