CVE-2022-0996
Medium · 6.5CVSS
6.5
EPSS
1.5%
Published
Mar 23, 2022
CISA due date
—
Cloudanix analysis
Expired passwords can still be used to log into the directory service, allowing continued access to sensitive information without updating credentials.
- Exploitation
- Remote Authenticated
- Attacker needs
- Low Privilege
- Complexity
- Low
- Impact
- Data Exposure
- Component
- Network Service
- Class
- Authentication Bypass
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
The vulnerability permits accounts with expired passwords to successfully authenticate and query the directory database, bypassing normal password expiration controls.
Why it matters to the business
Attackers can maintain access to sensitive directory information using outdated credentials, increasing the risk of data breaches and unauthorized access to user and system data across the organization.
How an attack unfolds
An attacker obtains or possesses credentials for an account whose password has expired. They use these credentials to bind to the 389 Directory Server, which incorrectly grants access instead of rejecting the expired password.
How to fix it
Apply patches from vendors once available for the 389 Directory Server to enforce proper password expiration checks during authentication. Monitor vendor advisories for updates to Red Hat 389 Directory Server, Fedora, and Red Hat Enterprise Linux packages.
How to confirm the fix worked
Test authentication with expired password accounts after updates to ensure access is denied. Review server logs for authentication attempts that should be rejected due to expiration.
Typical attack path
- Identify exposed 389 Directory Server instances
- Acquire credentials for accounts with expired passwords
- Attempt authentication using the expired credentials
- Access and query the directory database upon successful bypass
How to detect it
Examine directory server logs for successful authentications using accounts known to have expired passwords. Look for bind operations that succeed despite password expiration flags.
What your security team should do
- Prioritize patching the 389 Directory Server as updates become available given the public exploit maturity
- Audit accounts with expired passwords and enforce password changes
- Implement additional authentication controls like MFA where possible
The record
A vulnerability was found in the 389 Directory Server that allows expired passwords to access the database to cause improper authentication.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| AlmaLinux:8 | 389-ds-base | 0 | 1.4.3.28-7.module_el8.6.0+3071+d20b1d7c |
| AlmaLinux:8 | 389-ds-base-devel | 0 | 1.4.3.28-7.module_el8.6.0+3071+d20b1d7c |
| AlmaLinux:8 | 389-ds-base-legacy-tools | 0 | 1.4.3.28-7.module_el8.6.0+3071+d20b1d7c |
| AlmaLinux:8 | 389-ds-base-libs | 0 | 1.4.3.28-7.module_el8.6.0+3071+d20b1d7c |
| AlmaLinux:8 | 389-ds-base-snmp | 0 | 1.4.3.28-7.module_el8.6.0+3071+d20b1d7c |
| AlmaLinux:8 | python3-lib389 | 0 | 1.4.3.28-7.module_el8.6.0+3071+d20b1d7c |
| AlmaLinux:9 | 389-ds-base | 0 | 2.1.3-4.el9_1 |
| AlmaLinux:9 | 389-ds-base-libs | 0 | 2.1.3-4.el9_1 |
| AlmaLinux:9 | python3-lib389 | 0 | 2.1.3-4.el9_1 |
| Debian:10 | 389-ds-base | 0 | 1.4.0.21-1+deb10u1 |
| Debian:11 | 389-ds-base | 0 | No fix |
| Debian:11 | 389-ds-base | 0 | 1.4.4.11-2+deb11u1 |
| Debian:12 | 389-ds-base | 0 | 2.0.15-1 |
| Debian:13 | 389-ds-base | 0 | 2.0.15-1 |
| Mageia:8 | 389-ds-base | 0 | 1.4.0.26-8.4.mga8 |
| Red Hat:enterprise_linux:7::client | 389-ds-base | 0 | 0:1.3.10.2-16.el7_9 |
| Red Hat:enterprise_linux:7::client | 389-ds-base-debuginfo | 0 | 0:1.3.10.2-16.el7_9 |
| Red Hat:enterprise_linux:7::client | 389-ds-base-devel | 0 | 0:1.3.10.2-16.el7_9 |
| Red Hat:enterprise_linux:7::client | 389-ds-base-libs | 0 | 0:1.3.10.2-16.el7_9 |
| Red Hat:enterprise_linux:7::client | 389-ds-base-snmp | 0 | 0:1.3.10.2-16.el7_9 |
| Red Hat:enterprise_linux:7::computenode | 389-ds-base | 0 | 0:1.3.10.2-16.el7_9 |
| Red Hat:enterprise_linux:7::computenode | 389-ds-base-debuginfo | 0 | 0:1.3.10.2-16.el7_9 |
| Red Hat:enterprise_linux:7::computenode | 389-ds-base-devel | 0 | 0:1.3.10.2-16.el7_9 |
| Red Hat:enterprise_linux:7::computenode | 389-ds-base-libs | 0 | 0:1.3.10.2-16.el7_9 |
| Red Hat:enterprise_linux:7::computenode | 389-ds-base-snmp | 0 | 0:1.3.10.2-16.el7_9 |
| Red Hat:enterprise_linux:7::server | 389-ds-base | 0 | 0:1.3.10.2-16.el7_9 |
| Red Hat:enterprise_linux:7::server | 389-ds-base-debuginfo | 0 | 0:1.3.10.2-16.el7_9 |
| Red Hat:enterprise_linux:7::server | 389-ds-base-devel | 0 | 0:1.3.10.2-16.el7_9 |
| Red Hat:enterprise_linux:7::server | 389-ds-base-libs | 0 | 0:1.3.10.2-16.el7_9 |
| Red Hat:enterprise_linux:7::server | 389-ds-base-snmp | 0 | 0:1.3.10.2-16.el7_9 |
| Red Hat:enterprise_linux:7::workstation | 389-ds-base | 0 | 0:1.3.10.2-16.el7_9 |
| Red Hat:enterprise_linux:7::workstation | 389-ds-base-debuginfo | 0 | 0:1.3.10.2-16.el7_9 |
| Red Hat:enterprise_linux:7::workstation | 389-ds-base-devel | 0 | 0:1.3.10.2-16.el7_9 |
| Red Hat:enterprise_linux:7::workstation | 389-ds-base-libs | 0 | 0:1.3.10.2-16.el7_9 |
| Red Hat:enterprise_linux:7::workstation | 389-ds-base-snmp | 0 | 0:1.3.10.2-16.el7_9 |
| Red Hat:enterprise_linux:8::appstream | 389-ds-base | 0 | 0:1.4.3.28-7.module+el8.6.0+15293+4900ec12 |
| Red Hat:enterprise_linux:8::appstream | 389-ds-base-debuginfo | 0 | 0:1.4.3.28-7.module+el8.6.0+15293+4900ec12 |
| Red Hat:enterprise_linux:8::appstream | 389-ds-base-debugsource | 0 | 0:1.4.3.28-7.module+el8.6.0+15293+4900ec12 |
| Red Hat:enterprise_linux:8::appstream | 389-ds-base-devel | 0 | 0:1.4.3.28-7.module+el8.6.0+15293+4900ec12 |
| Red Hat:enterprise_linux:8::appstream | 389-ds-base-legacy-tools | 0 | 0:1.4.3.28-7.module+el8.6.0+15293+4900ec12 |
| Red Hat:enterprise_linux:8::appstream | 389-ds-base-legacy-tools-debuginfo | 0 | 0:1.4.3.28-7.module+el8.6.0+15293+4900ec12 |
| Red Hat:enterprise_linux:8::appstream | 389-ds-base-libs | 0 | 0:1.4.3.28-7.module+el8.6.0+15293+4900ec12 |
| Red Hat:enterprise_linux:8::appstream | 389-ds-base-libs-debuginfo | 0 | 0:1.4.3.28-7.module+el8.6.0+15293+4900ec12 |
| Red Hat:enterprise_linux:8::appstream | 389-ds-base-snmp | 0 | 0:1.4.3.28-7.module+el8.6.0+15293+4900ec12 |
| Red Hat:enterprise_linux:8::appstream | 389-ds-base-snmp-debuginfo | 0 | 0:1.4.3.28-7.module+el8.6.0+15293+4900ec12 |
| Red Hat:enterprise_linux:8::appstream | python3-lib389 | 0 | 0:1.4.3.28-7.module+el8.6.0+15293+4900ec12 |
| Red Hat:enterprise_linux:9::appstream | 389-ds-base | 0 | 0:2.1.3-4.el9_1 |
| Red Hat:enterprise_linux:9::appstream | 389-ds-base-debuginfo | 0 | 0:2.1.3-4.el9_1 |
| Red Hat:enterprise_linux:9::appstream | 389-ds-base-debugsource | 0 | 0:2.1.3-4.el9_1 |
| Red Hat:enterprise_linux:9::appstream | 389-ds-base-libs | 0 | 0:2.1.3-4.el9_1 |
| Red Hat:enterprise_linux:9::appstream | 389-ds-base-libs-debuginfo | 0 | 0:2.1.3-4.el9_1 |
| Red Hat:enterprise_linux:9::appstream | 389-ds-base-snmp-debuginfo | 0 | 0:2.1.3-4.el9_1 |
| Red Hat:enterprise_linux:9::appstream | python3-lib389 | 0 | 0:2.1.3-4.el9_1 |
| Red Hat:rhel_eus:8.4::appstream | 389-ds-base | 0 | 0:1.4.3.16-21.module+el8.4.0+15657+e1585ac1 |
| Red Hat:rhel_eus:8.4::appstream | 389-ds-base-debuginfo | 0 | 0:1.4.3.16-21.module+el8.4.0+15657+e1585ac1 |
| Red Hat:rhel_eus:8.4::appstream | 389-ds-base-debugsource | 0 | 0:1.4.3.16-21.module+el8.4.0+15657+e1585ac1 |
| Red Hat:rhel_eus:8.4::appstream | 389-ds-base-devel | 0 | 0:1.4.3.16-21.module+el8.4.0+15657+e1585ac1 |
| Red Hat:rhel_eus:8.4::appstream | 389-ds-base-legacy-tools | 0 | 0:1.4.3.16-21.module+el8.4.0+15657+e1585ac1 |
| Red Hat:rhel_eus:8.4::appstream | 389-ds-base-legacy-tools-debuginfo | 0 | 0:1.4.3.16-21.module+el8.4.0+15657+e1585ac1 |
| Red Hat:rhel_eus:8.4::appstream | 389-ds-base-libs | 0 | 0:1.4.3.16-21.module+el8.4.0+15657+e1585ac1 |
| Red Hat:rhel_eus:8.4::appstream | 389-ds-base-libs-debuginfo | 0 | 0:1.4.3.16-21.module+el8.4.0+15657+e1585ac1 |
| Red Hat:rhel_eus:8.4::appstream | 389-ds-base-snmp | 0 | 0:1.4.3.16-21.module+el8.4.0+15657+e1585ac1 |
| Red Hat:rhel_eus:8.4::appstream | 389-ds-base-snmp-debuginfo | 0 | 0:1.4.3.16-21.module+el8.4.0+15657+e1585ac1 |
| Red Hat:rhel_eus:8.4::appstream | python3-lib389 | 0 | 0:1.4.3.16-21.module+el8.4.0+15657+e1585ac1 |
| Red Hat:rhel_eus:9.0::appstream | 389-ds-base | 0 | 0:2.0.14-3.el9_0 |
| Red Hat:rhel_eus:9.0::appstream | 389-ds-base-debuginfo | 0 | 0:2.0.14-3.el9_0 |
| Red Hat:rhel_eus:9.0::appstream | 389-ds-base-debugsource | 0 | 0:2.0.14-3.el9_0 |
| Red Hat:rhel_eus:9.0::appstream | 389-ds-base-libs | 0 | 0:2.0.14-3.el9_0 |
| Red Hat:rhel_eus:9.0::appstream | 389-ds-base-libs-debuginfo | 0 | 0:2.0.14-3.el9_0 |
| Red Hat:rhel_eus:9.0::appstream | 389-ds-base-snmp-debuginfo | 0 | 0:2.0.14-3.el9_0 |
| Red Hat:rhel_eus:9.0::appstream | python3-lib389 | 0 | 0:2.0.14-3.el9_0 |
| Rocky Linux:8 | 389-ds-base | 0 | 0:1.4.3.28-7.module+el8.6.0+994+f0479f39 |
| Rocky Linux:9 | 389-ds-base | 0 | 0:2.1.3-4.el9_1 |
| SUSE:Enterprise Storage 6 | 389-ds | 0 | 1.4.2.16~git68.efa843752-150100.7.34.1 |
| SUSE:Enterprise Storage 7 | 389-ds | 0 | 1.4.3.29~git18.3fcd3b1bd-150200.3.24.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP1-ESPOS | 389-ds | 0 | 1.4.2.16~git68.efa843752-150100.7.34.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP1-LTSS | 389-ds | 0 | 1.4.2.16~git68.efa843752-150100.7.34.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP2-ESPOS | 389-ds | 0 | 1.4.3.29~git18.3fcd3b1bd-150200.3.24.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS | 389-ds | 0 | 1.4.3.29~git18.3fcd3b1bd-150200.3.24.1 |
| SUSE:Linux Enterprise High Performance Computing 15-ESPOS | 389-ds | 0 | 1.4.0.31~git13.e5e55afa0-150000.4.24.1 |
| SUSE:Linux Enterprise High Performance Computing 15-LTSS | 389-ds | 0 | 1.4.0.31~git13.e5e55afa0-150000.4.24.1 |
| SUSE:Linux Enterprise Module for Server Applications 15 SP3 | 389-ds | 0 | 1.4.4.19~git28.b12c72226-150300.3.12.1 |
| SUSE:Linux Enterprise Real Time 15 SP2 | 389-ds | 0 | 1.4.3.29~git18.3fcd3b1bd-150200.3.24.1 |
| SUSE:Linux Enterprise Server 15 SP1-BCL | 389-ds | 0 | 1.4.2.16~git68.efa843752-150100.7.34.1 |
| SUSE:Linux Enterprise Server 15 SP1-LTSS | 389-ds | 0 | 1.4.2.16~git68.efa843752-150100.7.34.1 |
| SUSE:Linux Enterprise Server 15 SP2-BCL | 389-ds | 0 | 1.4.3.29~git18.3fcd3b1bd-150200.3.24.1 |
| SUSE:Linux Enterprise Server 15 SP2-LTSS | 389-ds | 0 | 1.4.3.29~git18.3fcd3b1bd-150200.3.24.1 |
| SUSE:Linux Enterprise Server 15-LTSS | 389-ds | 0 | 1.4.0.31~git13.e5e55afa0-150000.4.24.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 | 389-ds | 0 | 1.4.0.31~git13.e5e55afa0-150000.4.24.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP1 | 389-ds | 0 | 1.4.2.16~git68.efa843752-150100.7.34.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP2 | 389-ds | 0 | 1.4.3.29~git18.3fcd3b1bd-150200.3.24.1 |
| SUSE:Manager Proxy 4.1 | 389-ds | 0 | 1.4.3.29~git18.3fcd3b1bd-150200.3.24.1 |
| SUSE:Manager Retail Branch Server 4.1 | 389-ds | 0 | 1.4.3.29~git18.3fcd3b1bd-150200.3.24.1 |
| SUSE:Manager Server 4.1 | 389-ds | 0 | 1.4.3.29~git18.3fcd3b1bd-150200.3.24.1 |
| Ubuntu:20.04:LTS | 389-ds-base | 0 | No fix |
| Ubuntu:22.04:LTS | 389-ds-base | 0 | No fix |
| Ubuntu:24.04:LTS | 389-ds-base | 0 | No fix |
| Ubuntu:24.10 | 389-ds-base | 0 | No fix |
| Ubuntu:25.04 | 389-ds-base | 0 | No fix |
| Ubuntu:25.10 | 389-ds-base | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | 389-ds-base | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | 389-ds-base | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | 389-ds-base | 0 | No fix |
| openSUSE:Leap 15.3 | 389-ds | 0 | 1.4.4.19~git28.b12c72226-150300.3.12.1 |
| openSUSE:Tumbleweed | 389-ds | 0 | 2.0.14~git25.e6431d959-1.1 |
Related vulnerabilities
- CVE-2024-5953 A denial of service vulnerability was found in the 389-ds-base LDAP server. Also affects 389-ds-base
- CVE-2024-3657 A flaw was found in 389-ds-base. Also affects 389-ds-base
- CVE-2024-2199 A denial of service vulnerability was found in 389-ds-base ldap server. Also affects 389-ds-base
- CVE-2024-1062 A heap overflow flaw was found in 389-ds-base. Also affects 389-ds-base
- CVE-2021-4091 A double-free was found in the way 389-ds-base handles virtual attributes context in… Also affects 389-ds-base
- CVE-2024-6237 A flaw was found in the 389 Directory Server. Also affects 389-ds-base
- CVE-2024-8445 The fix for CVE-2024-2199 in 389-ds-base was insufficient to cover all scenarios. Also affects 389-ds-base
- CVE-2023-1055 A flaw was found in RHDS 11 and RHDS 12. Also affects 389-ds-base