A flaw was found in 389-ds-base. An unauthenticated remote attacker can send a complete LDAP operation followed by the first bytes of an incomplete LDAPMessage on the same connection, causing the server to hand that connection to a second worker thread before the first worker's result is flushed. The second worker blocks until nsslapd-ioblocktimeout while holding the connection mutex, preventing delivery of the completed operation's result. Repeating this across a small number of connections proportional to the configured worker-thread pool size exhausts the entire pool under default configuration, denying service to all clients (anonymous and authenticated, plaintext and TLS) for as long as the attacker maintains the connections.
{
"binaries": [
{
"binary_name": "389-ds",
"binary_version": "2.0.15-1ubuntu2"
},
{
"binary_name": "389-ds-base",
"binary_version": "2.0.15-1ubuntu2"
},
{
"binary_name": "389-ds-base-libs",
"binary_version": "2.0.15-1ubuntu2"
},
{
"binary_name": "cockpit-389-ds",
"binary_version": "2.0.15-1ubuntu2"
},
{
"binary_name": "python3-lib389",
"binary_version": "2.0.15-1ubuntu2"
}
]
}{
"binaries": [
{
"binary_name": "389-ds",
"binary_version": "2.4.5+dfsg1-1"
},
{
"binary_name": "389-ds-base",
"binary_version": "2.4.5+dfsg1-1"
},
{
"binary_name": "389-ds-base-libs",
"binary_version": "2.4.5+dfsg1-1"
},
{
"binary_name": "cockpit-389-ds",
"binary_version": "2.4.5+dfsg1-1"
},
{
"binary_name": "python3-lib389",
"binary_version": "2.4.5+dfsg1-1"
}
]
}{
"binaries": [
{
"binary_name": "389-ds",
"binary_version": "3.1.2+vendor1-2"
},
{
"binary_name": "389-ds-base",
"binary_version": "3.1.2+vendor1-2"
},
{
"binary_name": "389-ds-base-libs",
"binary_version": "3.1.2+vendor1-2"
},
{
"binary_name": "cockpit-389-ds",
"binary_version": "3.1.2+vendor1-2"
},
{
"binary_name": "python3-lib389",
"binary_version": "3.1.2+vendor1-2"
}
]
}{
"binaries": [
{
"binary_name": "389-ds",
"binary_version": "1.3.7.10-1ubuntu1+esm1"
},
{
"binary_name": "389-ds-base",
"binary_version": "1.3.7.10-1ubuntu1+esm1"
},
{
"binary_name": "389-ds-base-libs",
"binary_version": "1.3.7.10-1ubuntu1+esm1"
},
{
"binary_name": "python3-dirsrvtests",
"binary_version": "1.3.7.10-1ubuntu1+esm1"
},
{
"binary_name": "python3-lib389",
"binary_version": "1.3.7.10-1ubuntu1+esm1"
}
]
}{
"binaries": [
{
"binary_name": "389-ds",
"binary_version": "1.4.3.6-2ubuntu0.1~esm1"
},
{
"binary_name": "389-ds-base",
"binary_version": "1.4.3.6-2ubuntu0.1~esm1"
},
{
"binary_name": "389-ds-base-libs",
"binary_version": "1.4.3.6-2ubuntu0.1~esm1"
},
{
"binary_name": "cockpit-389-ds",
"binary_version": "1.4.3.6-2ubuntu0.1~esm1"
},
{
"binary_name": "python3-lib389",
"binary_version": "1.4.3.6-2ubuntu0.1~esm1"
}
]
}