CVE-2026-44179: XWiki Pro Macros RCE via Excerpt-Include Macro
Detects exploitation of CVE-2026-44179, a critical remote code execution vulnerability in com.xwiki.pro:xwiki-pro-macros versions >= 1.13 and < 1.14.5. The vulnerability (CWE-95: Improper Neutralization of Directives in Dynamically Evaluated Code) allows unauthenticated or low-privileged attackers to execute arbitrary code on the server by injecting malicious Groovy/Velocity script expressions into XWiki page titles or content that are subsequently processed by the excerpt-include macro. A public proof-of-concept is available.
Vulnerability Intelligence
Public PoCAffected Software
- Vendor
- maven
- Product
- com.xwiki.pro:xwiki-pro-macros
- Versions
- >= 1.13, < 1.14.5
Weakness (CWE)
Timeline
- Disclosed
- June 22, 2026
What is CVE-2026-44179 CVE-2026-44179: XWiki Pro Macros RCE via Excerpt-Include Macro?
CVE-2026-44179: XWiki Pro Macros RCE via Excerpt-Include Macro (CVE-2026-44179) maps to the Initial Access and Execution and Persistence and Privilege Escalation tactics — the adversary is trying to get into your network in MITRE ATT&CK.
This page provides production-ready detection logic for CVE-2026-44179: XWiki Pro Macros RCE via Excerpt-Include Macro, covering the data sources and telemetry it touches: Microsoft Defender for Endpoint, Microsoft Sentinel, DeviceProcessEvents, DeviceNetworkEvents, DeviceFileEvents. The queries below are rated critical severity at medium confidence, and ship for 7 SIEM platforms — KQL, SPL, Elastic, QRadar, Sumo, YARA-L, LogScale.
MITRE ATT&CK
union DeviceProcessEvents, DeviceNetworkEvents, DeviceFileEvents
| where TimeGenerated >= ago(24h)
| where (
(ActionType == "ProcessCreated" and InitiatingProcessParentFileName has_any ("java", "xwiki") and FileName in~ ("bash", "sh", "cmd.exe", "powershell.exe", "whoami", "id", "curl", "wget", "nc", "ncat"))
or
(ActionType == "NetworkConnectionSuccess" and InitiatingProcessParentFileName has_any ("java", "xwiki") and RemotePort in (4444, 1337, 9001, 8888))
or
(ActionType == "FileCreated" and InitiatingProcessFileName has_any ("java") and FolderPath has_any ("/xwiki", "xwiki-data", "XWiki"))
)
| extend RiskIndicator = case(
ActionType == "ProcessCreated" and FileName in~ ("bash", "sh", "cmd.exe", "powershell.exe"), "Shell spawned from Java/XWiki process",
ActionType == "NetworkConnectionSuccess" and RemotePort in (4444, 1337, 9001, 8888), "Reverse shell outbound connection from XWiki JVM",
ActionType == "FileCreated" and FolderPath has_any ("/xwiki", "xwiki-data"), "File written by XWiki JVM process",
"Suspicious XWiki JVM activity"
)
| project TimeGenerated, DeviceName, ActionType, FileName, FolderPath, RemoteIP, RemotePort, InitiatingProcessParentFileName, InitiatingProcessCommandLine, RiskIndicator
| order by TimeGenerated desc Detects suspicious process spawning, outbound network connections, and file creation events originating from Java/XWiki processes, which may indicate RCE exploitation via CVE-2026-44179 excerpt-include macro injection.
Data Sources
Required Tables
False Positives
- Legitimate XWiki administrative scripts that spawn shell processes for maintenance tasks
- Authorized penetration testing or red team exercises targeting XWiki instances
- Java application servers running on the same host that spawn shell processes for unrelated reasons
- Automated backup or deployment scripts executed in the context of the XWiki JVM
Sigma rule & cross-platform mapping
The detection logic for CVE-2026-44179: XWiki Pro Macros RCE via Excerpt-Include Macro (CVE-2026-44179) above is provided in a vendor-neutral
form so you can deploy it on any SIEM. The same logic is shipped here as native
KQL (Microsoft Sentinel / Defender), SPL (Splunk), Elastic (Elastic Security (EQL)), QRadar (IBM QRadar (AQL)), Sumo (Sumo Logic CSE), YARA-L (Google Chronicle / SecOps), LogScale (CrowdStrike LogScale (CQL)) queries. In Sigma terms, this detection targets the
following logsource:
logsource:
category: process_creation
product: windows Browse the community-maintained Sigma rules for this technique:
Platform-specific guides for CVE-2026-44179
Testing Methodology
Validate this detection against 3 adversary techniques from Atomic Red Team. Each test below lists the behaviour to exercise and the telemetry you should expect to see. Executable commands and cleanup steps are available with Pro.
- Test 1XWiki Excerpt-Include SSTI via Groovy Script Block
Expected signal: Process creation event showing java (or catalina) as parent process and a subprocess running 'id' or 'sh -c id'. Network logs may show the HTTP response containing the output of the id command.
- Test 2XWiki RCE Reverse Shell via Excerpt-Include Macro
Expected signal: Outbound TCP connection from the XWiki host JVM process to ATTACKER_IP:4444. Process tree shows java -> bash with interactive shell flags. Network flow records an established connection on port 4444.
- Test 3XWiki File Write via RCE to Establish Persistence
Expected signal: File creation event for /tmp/xwiki_rce_proof.txt with the Java/Tomcat process as the creator. Audit log (auditd or Sysmon for Linux) records a file open/write syscall from the java process.
Unlock Pro Content
Get the full detection package for CVE-2026-44179 including response playbook, investigation guide, and atomic red team tests.