CVE-2024-27310
Executive Summary
CVE-2024-27310 is a denial-of-service (DoS) vulnerability in Zoho ManageEngine ADSelfService Plus, affecting versions below 6401. The vulnerability arises from improper validation of LDAP input, allowing an unauthenticated attacker to craft malicious LDAP queries that can cause the service to crash or become unresponsive. With a CVSS score of 5.3 (Medium), this issue poses a moderate risk to availability, though no public proof-of-concept or exploit code has been identified. The EPSS score of 0.0% indicates a very low probability of exploitation in the wild, but the lack of a confirmed patch from the vendor necessitates immediate attention for organizations using affected versions.
This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.
No signup required
CVSS Breakdown & Threat Level
- CVSS Score: 5.3 (Medium)
- Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
- Attack Vector: Network (AV:N) – Exploitable remotely.
- Attack Complexity: Low (AC:L) – No special conditions required.
- Privileges Required: None (PR:N) – No authentication needed.
- User Interaction: None (UI:N) – No user action required.
- Scope: Unchanged (S:U) – Impact confined to the vulnerable component.
- Confidentiality Impact: None (C:N) – No data exposure.
- Integrity Impact: None (I:N) – No data modification.
- Availability Impact: Low (A:L) – Service degradation or crash.
Threat Level: Medium. The vulnerability is easy to exploit remotely without authentication, but the impact is limited to availability. The lack of public exploits and low EPSS score reduce immediate risk, but unpatched systems remain vulnerable to targeted DoS attacks.
Deep Dive & Mechanics
The vulnerability resides in the LDAP query handling mechanism of ADSelfService Plus. The application fails to sanitize or validate user-supplied input when constructing LDAP search filters. An attacker can send a specially crafted LDAP query that triggers an infinite loop, memory exhaustion, or a null pointer dereference, leading to a denial-of-service condition.
Root Cause: Improper input validation (CWE-20) in the LDAP query parser. The application does not enforce limits on query complexity or filter depth, allowing an attacker to inject malicious LDAP syntax that causes the service to hang or crash.
Attack Vector: An unauthenticated attacker sends a crafted HTTP request to the ADSelfService Plus web interface, which is then forwarded to the LDAP backend. The malicious LDAP filter (e.g., using nested (|(uid=*)(uid=*)) patterns) overwhelms the LDAP server or the application’s processing logic.
Impact: Successful exploitation results in a denial-of-service condition, rendering the ADSelfService Plus service unavailable. This can disrupt password self-service, directory synchronization, and other identity management functions.
Vulnerable vs. Patched Code
Vulnerable Code (Version < 6401): The vulnerable code likely lacks input validation for LDAP filters. A simplified example:
public List<User> searchUsers(String filter) {
String ldapFilter = "(&(objectClass=user)" + filter + ")";
// Directly uses user input without sanitization
return ldapTemplate.search(ldapFilter);
}
Patched Code (Version 6401+): The patched version introduces input validation and limits on filter complexity:
public List<User> searchUsers(String filter) {
if (filter == null || filter.length() > 100) {
throw new IllegalArgumentException("Invalid filter");
}
// Sanitize filter to prevent LDAP injection
String sanitizedFilter = sanitizeLdapFilter(filter);
String ldapFilter = "(&(objectClass=user)" + sanitizedFilter + ")";
return ldapTemplate.search(ldapFilter);
}
Exploitation & Lab Setup
Red Team (Offensive)
Lab Setup:
- Deploy ADSelfService Plus version 6400 on a Windows Server 2019.
- Configure the application with a test LDAP directory (e.g., OpenLDAP or Active Directory).
- Ensure the web interface is accessible from the attacker machine.
Exploitation Steps:
- Identify the vulnerable endpoint (e.g.,
/adselfservice/ldapsearch). - Craft a malicious LDAP filter that causes excessive recursion or memory consumption:
(|(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)) - Send the request using
curl:curl -X POST "http://target/adselfservice/ldapsearch" \ -d "filter=(|(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*)(uid=*))" - Monitor the service: The application may become unresponsive or crash.
Expected Outcome: The ADSelfService Plus service stops responding, requiring a restart.
Blue Team (Defensive)
Detection:
- Monitor for LDAP queries with excessive nesting or repeated patterns.
- Use WAF rules to block requests containing
(|(uid=*patterns. - Enable logging for all LDAP queries and correlate with application crashes.
Mitigation:
- Immediately upgrade to version 6401 or later.
- If patching is not possible, restrict network access to the ADSelfService Plus web interface.
- Implement input validation at the reverse proxy level.
Indicators of Compromise (IOCs)
- Network IOCs:
- HTTP POST requests to
/adselfservice/ldapsearchwith unusually long or nested LDAP filters. - Repeated patterns like
(|(uid=*)(uid=*))in request bodies.
- HTTP POST requests to
- System IOCs:
- Application crash logs in
%PROGRAMFILES%\ManageEngine\ADSelfService Plus\logs\. - High CPU or memory usage by the
ADSelfService Plusprocess.
- Application crash logs in
- Log IOCs:
- LDAP query logs showing filters with excessive
|or&operators.
- LDAP query logs showing filters with excessive
Detection Engineering
YARA Rule
rule CVE_2024_27310_LDAP_DoS {
meta:
description = "Detects malicious LDAP filters targeting ADSelfService Plus"
author = "Valters IT"
date = "2025-04-10"
cve = "CVE-2024-27310"
strings:
$ldap_filter = /\([|&]\([a-zA-Z]+=[*]\){10,}/
condition:
$ldap_filter
}
Sigma Rule
title: CVE-2024-27310 - ADSelfService Plus LDAP DoS Attempt
id: 8a3f7c2e-5b1d-4a9e-8c6f-2d3e4f5a6b7c
status: experimental
description: Detects HTTP requests with malicious LDAP filters targeting ADSelfService Plus
author: Valters IT
date: 2025-04-10
logsource:
category: webserver
product: iis
detection:
selection:
cs-uri-stem: '/adselfservice/ldapsearch'
cs-uri-query|contains: '(|(uid=*)'
condition: selection
falsepositives:
- Legitimate LDAP queries with complex filters (rare)
level: high
Suricata Rule
alert http any any -> any any (msg:"CVE-2024-27310 - ADSelfService Plus LDAP DoS Attempt"; flow:to_server; content:"POST"; http_method; content:"/adselfservice/ldapsearch"; http_uri; content:"(|(uid=*)"; http_client_body; classtype:attempted-dos; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Upgrade: Update ADSelfService Plus to version 6401 or later. Contact Zoho support for patch details.
- Workaround: If patching is delayed, restrict access to the web interface using a firewall or VPN.
- Input Validation: Implement a reverse proxy (e.g., Nginx) to block requests containing suspicious LDAP patterns.
Long-Term Measures:
- Enforce strict input validation for all LDAP queries.
- Monitor for unusual LDAP query patterns using SIEM.
- Conduct regular vulnerability scans for ManageEngine products.
Valters IT Signature This report was generated by Valters IT DevSecOps AI. For questions, contact security@valters-it.com.
What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.
💣 PoC CODE AVAILABLE
Exploit code for this CVE is tracked in our database.
Access poc_code via API Pro.