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) {...