logo

Database

Java Spring Ldap Injection

Description

Detects LDAP injection vulnerabilities in Java applications using Spring LDAP framework. These vulnerabilities occur when user-controlled input is used directly in LDAP queries without proper validation, potentially allowing attackers to manipulate LDAP operations and access unauthorized information.

Weakness:

107 - LDAP injection

Category: Unexpected Injection

Detection Strategy

    • Checks if Spring LDAP library (org.springframework.ldap) is imported in the codebase

    • Identifies LDAP query operations in the code

    • Analyzes if the LDAP query contains unvalidated or unsanitized input

    • Reports a vulnerability when user-controlled data flows into LDAP query operations without proper escaping or validation

Vulnerable code example

@RestController
public class VulnerableLdapController {

    @Autowired
    private LdapTemplate ldapTemplate;

    @PostMapping("/auth")
    public boolean authenticate(@RequestParam String userId) {...

✅ Secure code example

@RestController
public class SecureLdapController {

    @Autowired
    private LdapTemplate ldapTemplate;

    @PostMapping("/auth")
    public boolean authenticate(@RequestParam String userId) {...