{"id":"CVE-2026-15041","aliases":["DEBIAN-CVE-2026-15041","EUVD-2026-42213","GHSA-j5fh-pqqw-m384","UBUNTU-CVE-2026-15041"],"status":"published","title":"389-ds-base: 389-ds-base: non-constant-time comparison in pbkdf2-sha256 password verification","description":"A flaw was found in 389 Directory Server. The PBKDF2-SHA256 password verification function uses standard memcmp() for comparing password hashes instead of a constant-time comparison function. A remote attacker could potentially use timing measurements of LDAP bind attempts to infer partial hash information, though practical exploitation is extremely difficult due to PBKDF2 computational overhead.","severity":{"version":"3.1","score":3.7,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N","level":"low","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-09","score":0.00359,"percentile":0.29855,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":false},"cwes":["CWE-208"],"published":"2026-07-08T10:15:30Z","modified":"2026-11-06T17:54:13Z","affected":[{"source":"osv","ecosystem":"Debian:12","package":"389-ds-base","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.3.1+dfsg1-1","2.3.1+dfsg1-1+deb12u1","2.3.4+dfsg1-1","2.3.4+dfsg1-1.1","2.4.4+dfsg1-1","2.4.4+dfsg1-3","2.4.5+dfsg1-1","3.0.2+dfsg1-1","3.1.1+dfsg1-1","3.1.1+dfsg1-2","3.1.1+dfsg1-3","3.1.2+dfsg1-1","3.1.2+vendor1-1","3.1.2+vendor1-2","3.3.0-1","3.3.0-2","3.3.1-1","3.3.1-3"]},{"source":"osv","ecosystem":"Debian:13","package":"389-ds-base","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.1.2+dfsg1-1","3.1.2+dfsg1-1+deb13u1","3.1.2+vendor1-1","3.1.2+vendor1-2","3.3.0-1","3.3.0-2","3.3.1-1","3.3.1-3"]},{"source":"osv","ecosystem":"Ubuntu:Pro:16.04:LTS","package":"389-ds-base","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.3.3.12-1build1","1.3.3.13-1","1.3.4.5-2","1.3.4.8-1","1.3.4.8-3","1.3.4.8-3ubuntu1","1.3.4.8-4","1.3.4.9-1","1.3.4.9-1ubuntu0.1~esm1"]},{"source":"osv","ecosystem":"Ubuntu:Pro:18.04:LTS","package":"389-ds-base","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.3.7.5-1","1.3.7.5-1build1","1.3.7.5-1build2","1.3.7.9-1","1.3.7.10-1","1.3.7.10-1ubuntu1","1.3.7.10-1ubuntu1+esm1"]},{"source":"osv","ecosystem":"Ubuntu:Pro:20.04:LTS","package":"389-ds-base","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.4.1.6-4","1.4.1.6-4build1","1.4.2.4-1","1.4.2.4-1build1","1.4.3.2-1","1.4.3.2-1build1","1.4.3.6-2","1.4.3.6-2ubuntu0.1~esm1"]},{"source":"osv","ecosystem":"Ubuntu:22.04:LTS","package":"389-ds-base","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.4.4.11-2build1","1.4.4.11-2build2","1.4.4.17-1","2.0.11-2","2.0.14-1","2.0.15-1","2.0.15-1ubuntu2"]},{"source":"osv","ecosystem":"Ubuntu:24.04:LTS","package":"389-ds-base","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.3.4+dfsg1-1","2.4.4+dfsg1-1ubuntu1","2.4.4+dfsg1-1ubuntu4","2.4.4+dfsg1-3","2.4.5+dfsg1-1"]},{"source":"osv","ecosystem":"Ubuntu:25.10","package":"389-ds-base","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.1.2+dfsg1-1"]},{"source":"osv","ecosystem":"Ubuntu:26.10","package":"389-ds-base","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.1.2+vendor1-2","3.1.2+vendor1-2build1","3.3.1-3"]},{"source":"osv","ecosystem":"Ubuntu:26.04:LTS","package":"389-ds-base","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.1.2+dfsg1-1","3.1.2+vendor1-2"]}],"products":[{"vendor":"red hat","product":"red hat directory server 11"},{"vendor":"red hat","product":"red hat directory server 12"},{"vendor":"red hat","product":"red hat directory server 13"},{"vendor":"red hat","product":"red hat enterprise linux 10"},{"vendor":"red hat","product":"red hat enterprise linux 6"},{"vendor":"red hat","product":"red hat enterprise linux 7"},{"vendor":"red hat","product":"red hat enterprise linux 8"},{"vendor":"red hat","product":"red hat enterprise linux 9"},{"vendor":"redhat","product":"389_directory_server"},{"vendor":"redhat","product":"directory_server"},{"vendor":"redhat","product":"enterprise_linux"}],"references":[{"url":"https://access.redhat.com/security/cve/CVE-2026-15041","tags":["vdb-entry","x_refsource_REDHAT","Vendor Advisory","report"]},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=2498022","tags":["issue-tracking","x_refsource_REDHAT","Issue Tracking","Vendor Advisory","report"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-15041"},{"url":"https://github.com/advisories/GHSA-j5fh-pqqw-m384"},{"url":"https://security-tracker.debian.org/tracker/CVE-2026-15041","tags":["advisory"]},{"url":"https://ubuntu.com/security/CVE-2026-15041","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-15041","tags":["report"]}],"sources":{"cve":[{"id":"CVE-2026-15041","title":"389-ds-base: 389-ds-base: non-constant-time comparison in pbkdf2-sha256 password verification","description":"A flaw was found in 389 Directory Server. The PBKDF2-SHA256 password verification function uses standard memcmp() for comparing password hashes instead of a constant-time comparison function. A remote attacker could potentially use timing measurements of LDAP bind attempts to infer partial hash information, though practical exploitation is extremely difficult due to PBKDF2 computational overhead.","status":"published","published":"2026-07-08T10:15:30.48Z","modified":"2026-11-06T17:54:13.266Z","cvss":[{"version":"3.1","score":3.7,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N","level":"low","assessor":"cna"}],"cwes":["CWE-208"],"updated_at":"2026-11-06T18:59:08.498645Z"}],"euvd":[{"id":"EUVD-2026-42213","description":"A flaw was found in 389 Directory Server. The PBKDF2-SHA256 password verification function uses standard memcmp() for comparing password hashes instead of a constant-time comparison function. A remote attacker could potentially use timing measurements of LDAP bind attempts to infer partial hash information, though practical exploitation is extremely difficult due to PBKDF2 computational overhead.","status":"published","published":"2026-07-08T10:15:30Z","modified":"2026-11-06T17:54:13Z","cvss":[{"version":"3.1","score":3.7,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N","level":"low"}],"updated_at":"2026-11-06T19:05:52.672747Z"}],"ghsa":[{"id":"GHSA-j5fh-pqqw-m384","title":"A flaw was found in 389 Directory Server. The PBKDF2-SHA256 password verification function uses...","description":"A flaw was found in 389 Directory Server. The PBKDF2-SHA256 password verification function uses standard memcmp() for comparing password hashes instead of a constant-time comparison function. A remote attacker could potentially use timing measurements of LDAP bind attempts to infer partial hash information, though practical exploitation is extremely difficult due to PBKDF2 computational overhead.","status":"published","published":"2026-07-08T12:30:24Z","modified":"2026-07-08T12:30:25Z","cvss":[{"version":"3.1","score":3.7,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N","level":"low"}],"cwes":["CWE-208"],"updated_at":"2026-11-02T15:09:19.587132Z"}],"nvd":[{"id":"CVE-2026-15041","description":"A flaw was found in 389 Directory Server. The PBKDF2-SHA256 password verification function uses standard memcmp() for comparing password hashes instead of a constant-time comparison function. A remote attacker could potentially use timing measurements of LDAP bind attempts to infer partial hash information, though practical exploitation is extremely difficult due to PBKDF2 computational overhead.","status":"published","published":"2026-07-08T11:16:26.26Z","modified":"2026-11-06T18:18:07.283Z","cvss":[{"version":"3.1","score":3.7,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N","level":"low","assessor":"secondary"}],"cwes":["CWE-208"],"updated_at":"2026-11-06T20:01:12.161832Z"}],"osv":[{"id":"DEBIAN-CVE-2026-15041","description":"A flaw was found in 389 Directory Server. The PBKDF2-SHA256 password verification function uses standard memcmp() for comparing password hashes instead of a constant-time comparison function. A remote attacker could potentially use timing measurements of LDAP bind attempts to infer partial hash information, though practical exploitation is extremely difficult due to PBKDF2 computational overhead.","status":"published","published":"2026-07-08T11:16:26.26Z","modified":"2026-11-07T09:47:24.594458818Z","cvss":[{"version":"3.1","score":3.7,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N","level":"low"}],"updated_at":"2026-11-07T10:14:39.995311Z"},{"id":"UBUNTU-CVE-2026-15041","description":"A flaw was found in 389 Directory Server. The PBKDF2-SHA256 password verification function uses standard memcmp() for comparing password hashes instead of a constant-time comparison function. A remote attacker could potentially use timing measurements of LDAP bind attempts to infer partial hash information, though practical exploitation is extremely difficult due to PBKDF2 computational overhead.","status":"published","published":"2026-07-08T11:16:00Z","modified":"2026-10-17T12:56:35.778723623Z","cvss":[{"version":"3.1","score":3.7,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N","level":"low"}],"updated_at":"2026-11-02T16:56:00.592716Z"}]}}
