CVE-2019-13485
📋 TL;DR
CVE-2019-13485 is a critical stack-based buffer overflow vulnerability in Xymon's history viewer component. Attackers can exploit this by sending specially crafted requests with long hostname or service parameters, potentially leading to remote code execution. All Xymon installations through version 4.3.28 are affected.
💻 Affected Systems
- Xymon
📦 What is this software?
Xymon by Xymon
⚠️ Risk & Real-World Impact
Worst Case
Remote code execution with root privileges, allowing complete system compromise, data theft, and lateral movement within the network.
Likely Case
Service disruption, denial of service, or remote code execution with the privileges of the Xymon web process.
If Mitigated
Denial of service or limited impact if proper network segmentation and least privilege controls are implemented.
🎯 Exploit Status
The vulnerability is straightforward to exploit with publicly available proof-of-concept code. No authentication is required.
🛠️ 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. Backup current configuration. 3. Stop Xymon services. 4. Install the updated version. 5. Restart Xymon services.
🔧 Temporary Workarounds
Disable history viewer
linuxTemporarily disable the vulnerable history viewer component to prevent exploitation.
# Edit Xymon configuration to remove or comment out history.cgi references
# Typically in /etc/xymon/hobbitserver.cfg or similar
Network access control
linuxRestrict network access to Xymon web interface using firewall rules.
iptables -A INPUT -p tcp --dport 80 -s trusted_network -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j DROP
🧯 If You Can't Patch
- Implement strict network segmentation to isolate Xymon instances from untrusted networks
- Deploy web application firewall (WAF) rules to block requests with excessively long hostname or service parameters
🔍 How to Verify
Check if Vulnerable:
Check Xymon version: grep 'XYMONVERSION' /etc/xymon/*.cfg or run 'xymon --version'. If version is 4.3.28 or earlier, the system is vulnerable.
Check Version:
grep 'XYMONVERSION' /etc/xymon/*.cfg 2>/dev/null || xymon --version 2>/dev/null || echo 'Check Xymon installation'
Verify Fix Applied:
Verify Xymon version is 4.3.29 or later using the same commands. Test the history viewer with normal parameters to ensure functionality.
📡 Detection & Monitoring
Log Indicators:
- Unusually long hostname or service parameters in web logs
- Multiple failed requests to history.cgi
- Process crashes or abnormal termination of Xymon web components
Network Indicators:
- HTTP requests with hostname parameters exceeding normal length (typically > 256 characters)
- Traffic patterns showing exploitation attempts from scanning tools
SIEM Query:
source="xymon_access.log" AND (uri="*history.cgi*" AND (param_length>256 OR contains(param,"../")))
🔗 References
- https://github.com/svn2github/xymon/blob/master/branches/4.3.28/web/history.c
- https://lists.debian.org/debian-lts-announce/2019/08/msg00032.html
- https://lists.xymon.com/archive/2019-July/046570.html
- https://github.com/svn2github/xymon/blob/master/branches/4.3.28/web/history.c
- https://lists.debian.org/debian-lts-announce/2019/08/msg00032.html
- https://lists.xymon.com/archive/2019-July/046570.html