SiteShadow
Back to vulnerability library

CWE-90 LDAP Injection

What this means

SiteShadow flagged an LDAP query (filter / DN / search base) that is being constructed using untrusted input. LDAP has its own "query language" rules—string concatenation can let attackers change the meaning of the search.

Why it matters

LDAP injection can bypass auth or exfiltrate directory data.

Safer examples

1) Escape user-controlled values for LDAP filters (Python)

from ldap3.utils.conv import escape_filter_chars

username = escape_filter_chars(user_input)
ldap_filter = f"(uid={username})"

2) Don't build complex filters from user input

If users are selecting a field/search mode, allowlist it (e.g., only uid or mail) and keep the value escaped.

3) Restrict what can be searched and returned

How SiteShadow detects it (high level)

References

---

← Back to Vulnerability Library

Request access View coverage