CVE-2019-25323
Executive Summary
CVE-2019-25323 is an HTML injection vulnerability in Heatmiser Netmonitor version 3.03, specifically within the outputSetup.htm page. An attacker can craft a specially formatted POST request to the outputtitle parameter, injecting arbitrary HTML code. This allows manipulation of the web interface's displayed content, potentially leading to phishing attacks, defacement, or session hijacking. The vulnerability has a CVSS score of 0.0 (likely unassigned or placeholder), but based on the vector, it is a low-severity issue with a network attack vector, low complexity, and no privileges required, though user interaction is needed. No patch is currently available from the vendor.
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
- Attack Vector (AV): Network (N) – The vulnerability can be exploited remotely over the network.
- Attack Complexity (AC): Low (L) – No special conditions are required for exploitation.
- Privileges Required (PR): None (N) – No authentication is needed.
- User Interaction (UI): Required (R) – The victim must interact with the crafted content (e.g., click a link).
- Scope (S): Unchanged (U) – The impact is confined to the vulnerable component.
- Confidentiality (C): None (N) – No data is exposed.
- Integrity (I): Low (L) – The attacker can modify displayed content.
- Availability (A): None (N) – No impact on system availability.
Threat Level: Low. The vulnerability requires user interaction and only allows HTML injection, not full XSS or code execution. However, it can be used for social engineering attacks.
Deep Dive & Mechanics
The vulnerability resides in the outputSetup.htm page of Heatmiser Netmonitor v3.03. The outputtitle parameter is not properly sanitized before being rendered in the HTML response. An attacker can send a POST request with malicious HTML in the outputtitle parameter, which is then reflected back to the user's browser without proper encoding. This allows the injection of arbitrary HTML tags, such as <script>, <img>, or <iframe>, enabling content manipulation.
The root cause is a lack of output encoding or input validation. The application likely uses a template or direct string concatenation to build the page, making it susceptible to injection.
Vulnerable vs. Patched Code
Vulnerable Code (Conceptual):
<?php
$outputtitle = $_POST['outputtitle'];
echo "<div class='output-title'>$outputtitle</div>";
?>
Patched Code (Conceptual):
<?php
$outputtitle = htmlspecialchars($_POST['outputtitle'], ENT_QUOTES, 'UTF-8');
echo "<div class='output-title'>$outputtitle</div>";
?>
The patched version uses htmlspecialchars() to encode special HTML characters, preventing injection.
Exploitation & Lab Setup
Red Team
- Setup: Deploy Heatmiser Netmonitor v3.03 in a controlled lab environment.
- Craft Payload: Create a POST request to
http://target/outputSetup.htmwith the parameteroutputtitle=<script>alert('XSS')</script>. - Execute: Send the request using a tool like
curlor Burp Suite.curl -X POST http://target/outputSetup.htm -d "outputtitle=<script>alert('XSS')</script>" - Observe: The injected script executes in the victim's browser when they view the page.
Blue Team
- Monitor: Look for unusual POST requests to
outputSetup.htmwith suspicious parameters. - Detect: Use WAF rules to block HTML tags in the
outputtitleparameter. - Mitigate: Apply input validation and output encoding as a temporary fix until a patch is available.
Indicators of Compromise (IOCs)
- Network: POST requests to
/outputSetup.htmwithoutputtitlecontaining HTML tags like<script>,<img>, or<iframe>. - Logs: Web server logs showing
POST /outputSetup.htmwithoutputtitle=<script>...in the request body. - File: Modified
outputSetup.htmfile if the injection persists.
Detection Engineering
YARA Rule
rule CVE_2019_25323_HTML_Injection {
meta:
description = "Detects HTML injection attempts in Heatmiser Netmonitor outputSetup.htm"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2019-25323"
strings:
$post_request = "POST /outputSetup.htm"
$html_tag = /<[a-zA-Z\/!].*?>/
condition:
$post_request and $html_tag
}
Sigma Rule
title: CVE-2019-25323 HTML Injection in Heatmiser Netmonitor
id: 12345678-1234-1234-1234-123456789abc
status: experimental
description: Detects HTML injection attempts via outputtitle parameter
author: Valters IT
date: 2025-04-10
logsource:
category: webserver
product: apache
detection:
selection:
cs-method: 'POST'
cs-uri-stem: '/outputSetup.htm'
cs-uri-query|contains: 'outputtitle='
keywords:
- '<script'
- '<img'
- '<iframe'
condition: selection and keywords
falsepositives:
- Legitimate use of HTML in parameter (unlikely)
level: medium
Suricata Rule
alert http any any -> any any (msg:"CVE-2019-25323 HTML Injection Attempt"; flow:to_server; http.method; content:"POST"; http.uri; content:"/outputSetup.htm"; http.client_body; content:"outputtitle="; pcre:"/<[a-zA-Z\/!].*?>/"; sid:1000001; rev:1;)
Remediation & Mitigation
- Immediate: Apply input validation and output encoding to the
outputtitleparameter. Usehtmlspecialchars()or equivalent. - Network: Deploy a WAF rule to block HTML tags in POST parameters.
- Vendor: Contact Heatmiser for an official patch. If unavailable, consider upgrading to a newer version or replacing the device.
- User: Avoid clicking on suspicious links or interacting with untrusted content on the Netmonitor interface.
Report generated by Valters IT DevSecOps & CTI Division