
CVE-2023-33732 is a Reflected Cross-Site Scripting (XSS) vulnerability discovered in the Microworld Technologies eScan Management Console, version 14.0.1400.2281.
CVE-2023-33732 is a Reflected Cross-Site Scripting (XSS) vulnerability discovered in the Microworld Technologies eScan Management Console, version 14.0.1400.2281. The flaw exists in the New Policy assignment form (AssignPolicyTemplate endpoint) and allows a remote, unauthenticated attacker to inject and execute arbitrary JavaScript in the browser of any authenticated user who is tricked into clicking a crafted URL.
Because the application reflects user-supplied input directly into the HTML response without proper sanitisation or output encoding, an attacker can steal session cookies, perform actions on behalf of the victim, or redirect the user to malicious content — all without requiring any special privileges on the server.
| Field | Value |
|---|---|
| CVE ID | CVE-2023-33732 |
| Vulnerability Type | Reflected Cross-Site Scripting (XSS) |
| Affected Product | Microworld Technologies eScan Management Console |
| Affected Version | 14.0.1400.2281 |
| Vulnerable Endpoint | /ewconsole/ewconsole.dll/AssignPolicyTemplate |
| Vulnerable Parameters | type, txtPolicyType, txtPolicyPath, Deletefileval |
| Attack Vector | Network (crafted URL delivered via phishing, link, etc.) |
| Authentication Required | None (victim only needs to be logged in) |
| CVSS Score | 6.1 (Medium) — CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N |
| Reported By | Sahil Ojha |
| Disclosure Date | 30 May 2023 |
| Vendor Homepage | https://www.escanav.com |
| Software Link | https://cl.escanav.com/ewconsole.dll |
| Tested On | Windows |
Cross-Site Scripting (XSS) is a class of injection attack where malicious scripts are injected into otherwise trusted web pages. In a reflected variant, the payload is embedded in a crafted URL and immediately "reflected" back to the user in the server's HTTP response. The victim's browser executes the script in the context of the vulnerable site, granting the script the same trust level as legitimate page content.
Common consequences include:
The AssignPolicyTemplate endpoint in eScan's management console accepts several GET parameters and renders them inside an HTML page without sanitising special characters such as ", <, and >. This means a value like:
"><script>alert(document.cookie)</script>
breaks out of the surrounding HTML attribute context and injects a fully executable <script> tag into the DOM.
| Parameter | Location | Notes |
|---|---|---|
type | URL query string | Breaks out of attribute quotes |
txtPolicyType | URL query string | Reflected unsanitised into page body |
txtPolicyPath | URL query string | Reflected unsanitised into page body |
Deletefileval | URL query string | Reflected unsanitised into page body |
⚠️ For educational and authorised testing purposes only.
Authenticate — Log in to the eScan Management Console with valid credentials.
Craft the malicious URL — The following URL exploits the type parameter to inject a <script> tag that exfiltrates the victim's session cookie:
https://<target-host>/ewconsole/ewconsole.dll/AssignPolicyTemplate?type=%22%3E%3Cscript%3Ealert(document.cookie)%3C/script%3E&edit=0&txtPolicyType=&txtPolicyPath=!!!!%24%5CPolicies&Deletefileval=Roaming%20Users_Policy2&defaultpolicy=1
URL-decoded payload in type:
"><script>alert(document.cookie)</script>
Deliver the URL — Send the crafted link to an authenticated administrator (e.g., via email or chat).
Observe execution — Upon visiting the URL, the browser executes the injected script. An alert dialog displays the current session cookie, confirming arbitrary JavaScript execution.
Step 1 — Navigating to the vulnerable URL:

Step 2 — XSS alert popup with session cookie:

Step 3 — Admin cookie exposed, ready for session hijacking:

An attacker who successfully exploits this vulnerability can:
Microworld Technologies should apply the following mitigations:
<, >, ", ', and & as their HTML entity equivalents. Note that encoding strategy differs by context: HTML body, HTML attributes, JavaScript, and URL contexts each require their own encoding rules.script-src 'self') to prevent inline script execution even if an XSS payload is injected.This repository is published for educational and responsible disclosure purposes only. The proof-of-concept information provided here must not be used to attack systems without explicit written permission from the system owner. The author assumes no liability for any misuse of the information contained herein.