CVE-2019-13455

9.8 CRITICAL

📋 TL;DR

CVE-2019-13455 is a critical stack-based buffer overflow vulnerability in Xymon's alert acknowledgment CGI tool. Attackers can exploit this by sending specially crafted HTTP requests containing HTML entities, potentially leading to remote code execution. All Xymon installations through version 4.3.28 are affected.

💻 Affected Systems

Products:
  • Xymon (formerly Hobbit)
Versions: All versions through 4.3.28
Operating Systems: Linux, Unix, BSD
Default Config Vulnerable: ⚠️ Yes
Notes: The vulnerability exists in the default installation when the web interface is enabled. The acknowledge.cgi script is typically accessible via the web interface.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Remote code execution with the privileges of the Xymon web server process, potentially leading to complete system compromise.

🟠

Likely Case

Denial of service through application crash, with potential for remote code execution in targeted attacks.

🟢

If Mitigated

Limited impact if proper network segmentation and least privilege principles are applied to the Xymon service.

🌐 Internet-Facing: HIGH - The vulnerability is in a web-accessible CGI component that can be exploited remotely without authentication.
🏢 Internal Only: HIGH - Even internally, the vulnerability can be exploited by any user with network access to the Xymon web interface.

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: LIKELY
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

The vulnerability is in a CGI script accessible via HTTP, making exploitation straightforward. Public exploit code and technical details are available in security advisories.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 4.3.29 and later

Vendor Advisory: https://lists.xymon.com/archive/2019-July/046570.html

Restart Required: Yes

Instructions:

1. Download Xymon 4.3.29 or later from the official repository. 2. Replace the vulnerable acknowledge.c file in the web directory. 3. Recompile and restart the Xymon web service. 4. Verify the fix by checking the version and testing the acknowledgment functionality.

🔧 Temporary Workarounds

Disable CGI Script Access

linux

Temporarily disable access to the vulnerable acknowledge.cgi script via web server configuration.

# For Apache: Add to httpd.conf or .htaccess
<Location "/xymon/cgi-bin/acknowledge.cgi">
    Deny from all
</Location>
# For Nginx: Add to server block
location /xymon/cgi-bin/acknowledge.cgi {
    deny all;
}

Network Access Control

linux

Restrict network access to the Xymon web interface using firewall rules.

# iptables example to restrict to internal network
sudo iptables -A INPUT -p tcp --dport 80 -s 192.168.1.0/24 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 80 -j DROP

🧯 If You Can't Patch

  • Implement strict network segmentation to isolate Xymon servers from untrusted networks.
  • Run Xymon web service with minimal privileges using a dedicated, non-root user account.

🔍 How to Verify

Check if Vulnerable:

Check if Xymon version is 4.3.28 or earlier and if the acknowledge.cgi script exists in the web interface directory.

Check Version:

xymon --version 2>/dev/null || grep 'XYMONVERSION' /etc/xymon/xymonclient.cfg 2>/dev/null || cat /usr/lib/xymon/server/include/version.h 2>/dev/null | grep XYMONVERSION

Verify Fix Applied:

Verify Xymon version is 4.3.29 or later and test the acknowledgment functionality with HTML entity inputs.

📡 Detection & Monitoring

Log Indicators:

  • Multiple failed acknowledgment attempts with unusual parameters
  • Web server logs showing requests to acknowledge.cgi with encoded characters
  • Xymon process crashes or abnormal termination

Network Indicators:

  • HTTP requests to /xymon/cgi-bin/acknowledge.cgi containing &nbsp; or other HTML entities
  • Unusual traffic patterns to the Xymon web port

SIEM Query:

source="xymon.log" AND (uri="/cgi-bin/acknowledge.cgi" AND (param CONTAINS "&nbsp;" OR param CONTAINS "%26"))

🔗 References

📤 Share & Export