CWEweakness
CWE-90 Improper Neutralization of Special Elements used in an LDAP Query
- Alternate terms
- LDAP Injection
- Abstraction
- Base
- Structure
- Simple
- Status
- Draft
- Languages
- Not Language-Specific
- CWE version
- 5.0
Description
The product constructs all or part of an LDAP query using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended LDAP query when it is sent to a downstream component.
Common consequences
• Confidentiality, Integrity, Availability: Execute Unauthorized Code or Commands, Read Application Data, Modify Application Data — An attacker could include input that changes the LDAP query which allows unintended commands or code to be executed, allows sensitive data to be read or modified or causes other unintended behavior.
Potential mitigations
• [Implementation] Assume all input is malicious. Use an "accept known good" input validation strategy, i.e., use a list of acceptable inputs that strictly conform to specifications. Reject any input that does not strictly conform to specifications, or transform it into something that does.
When performing input validation, consider all potentially relevant properties, including length, type of input, the full range of acceptable values, missing or extra inputs, syntax, consistency across related fields, and conformance to business rules. As an example of business rule logic, "boat" may be syntactically valid because it only contains alphanumeric characters, but it is not valid if the input is only expected to contain colors such as "red" or "blue."
Do not rely exclusively on looking for malicious or malformed inputs. This is likely to miss at least one undesirable input, especially if the code's environment changes. This can give attackers enough room to bypass the intended validation. However, denylists can be useful for detecting potential attacks or determining which inputs are so malformed that they should be rejected outright.
Detection methods
• Automated Static Analysis: Automated static analysis, commonly referred to as Static Application Security Testing (SAST), can find some instances of this weakness by analyzing source code (or binary/compiled code) without having to execute it. Typically, this is done by building a model of data flow and control flow, then searching for potentially-vulnerable patterns that connect "sources" (origins of input) with "sinks" (destinations where the data interacts with external components, a lower layer such as the OS, etc.)
Observed examples
• CVE-2021-41232: Chain: authentication routine in Go-based agile development product does not escape user name (CWE-116), allowing LDAP injection (CWE-90)
• CVE-2005-2301: Server does not properly escape LDAP queries, which allows remote attackers to cause a DoS and possibly conduct an LDAP injection attack.
Related
Attack pattern · CAPEC (1)
- CAPEC-136 LDAP Injection attack pattern
Observed example · CVE (2)
- CVE-2021-41232 Thunderdome is an open source agile planning poker tool in the theme of Battling for points. vulnerability
- CVE-2005-2301 PowerDNS before 2.9.18, when running with an LDAP backend, does not properly escape LDAP queries, which allows remote attackers to cause a… vulnerability
Child of · CWE (1)
- CWE-943 Improper Neutralization of Special Elements in Data Query Logic weakness
Referenced by CAPEC · weakness (1)
- CAPEC-136 LDAP Injection attack pattern
Referenced by CVE · weakness (101)
- CVE-2026-93636 An LDAP filter injection vulnerability in Zimbra Collaboration Suite (ZCS) allows an authenticated user to query otherwise unreturned… vulnerability
- CVE-2026-15723 GitLab has remediated an issue in GitLab CE/EE affecting all versions from 10.1 before 19.3.6, 19.4 before 19.4.3, and 19.5 before 19.5.1… vulnerability
- CVE-2026-89071 Improper neutralization of special elements used in an LDAP query ('LDAP injection') vulnerability in Progress MOVEit Transfer (LDAP… vulnerability
- CVE-2026-93635 LDAP filter injection in Zimbra Collaboration Suite 10.1.0 through 10.1.21 allows unauthenticated attackers to alter external LDAP search… vulnerability
- CVE-2026-10759 A flaw in Portal for ArcGIS could allow LDAP injection through administrative functionality that constructs Active Directory or LDAP search… vulnerability
- CVE-2026-110256 Finsys Dockhand through 1.0.18 contains an LDAP injection vulnerability in the tryLdapAuth function in src/lib/server/auth.ts, which… vulnerability
- CVE-2025-71431 Frappe before 14.99.2 and 15.x before 15.86.0 contains an LDAP injection vulnerability because certain endpoints do not sanitize… vulnerability
- CVE-2026-109357 LibreNMS before 26.9.0 contains an LDAP filter injection in ldap-authorization and ad-authorization modes because usernames are inserted… vulnerability
- CVE-2026-94053 Authentication bypass via LDAP injection in component sshd-ldap in Apache MINA SSHD versions 1.2.0 to 2.19.0 and 3.0.0-M1 to 3.0.0-M5. vulnerability
- CVE-2026-101145 A vulnerability was identified in Eleveo Call Recording Software 9.7.0. vulnerability
- CVE-2026-90979 LDAPCache and LDAPBackingEngine build LDAP search filters for user lookup and role lookup by textually substituting the placeholders %u,… vulnerability
- CVE-2026-49469 GLPI is a free asset and IT management software package. vulnerability
- CVE-2026-67223 RabbitMQ is a messaging and streaming broker. vulnerability
- CVE-2026-41573 Open Access Management (OpenAM) is an access management solution. vulnerability
- CVE-2026-46619 Open Access Management (OpenAM) is an access management solution. vulnerability
- CVE-2026-53658 Fabric CA is a Certificate Authority for Hyperledger Fabric. vulnerability
- CVE-2026-55770 OpenBao is an open source identity-based secrets management system. vulnerability
- CVE-2026-80055 Dell SCG 5.0 Appliance versions prior to 5.36.00.16 and Dell SCG 5.0 Application versions prior to 5.36.00.00, contains an Improper… vulnerability
- CVE-2026-78579 The Okta Access Gateway does not sanitize SAML assertion attribute values before interpolating them into LDAP search filters in the LDAP… vulnerability
- CVE-2026-81205 Improper Neutralization of Special Elements used in an LDAP Query ('LDAP Injection') vulnerability in Drupal LDAP / Active Directory… vulnerability
- CVE-2026-75020 Improper Neutralization of Special Elements used in an LDAP Query ('LDAP Injection') vulnerability in Apache APISIX. vulnerability
- CVE-2026-19271 Improper Neutralization of Special Elements used in an LDAP Query ('LDAP Injection') vulnerability in TÜBİTAK BİLGEM Software Technologies… vulnerability
- CVE-2026-76373 In versions below 2.3.8 of the AD LDAP app for Splunk SOAR, a user who holds a role with permission to run actions could inject crafted… vulnerability
- CVE-2026-19930 A security flaw has been discovered in Dolibarr up to 23.0.3. vulnerability
- CVE-2026-74241 A flaw was found in Red Hat Quay's external Lightweight Directory Access Protocol (LDAP) authentication handling. vulnerability
- CVE-2026-16071 A flaw was found in the LDAP storage provider of Keycloak, which is used to federate user identities from external directories. vulnerability
- CVE-2026-59652 In Bouncy Castle for Java before 1.85, LDAP filter injection in legacy jdk1.4 LDAPStoreHelper. vulnerability
- CVE-2026-11770 A flaw was found in 389 Directory Server. vulnerability
- CVE-2026-44616 LDAP injection vulnerability in Apache Zeppelin. vulnerability
- CVE-2026-44617 LDAP filter injection vulnerability in Apache Zeppelin. vulnerability