CVE-2021-3325
📋 TL;DR
CVE-2021-3325 is an authentication bypass vulnerability in Monitorix 3.13.0 that allows remote attackers to access the web interface without credentials. This affects default installations where the new hosts_deny access control feature wasn't configured after updating from earlier versions.
💻 Affected Systems
- Monitorix
📦 What is this software?
Fedora by Fedoraproject
Fedora by Fedoraproject
Monitorix by Fibranet
⚠️ Risk & Real-World Impact
Worst Case
Complete compromise of the monitoring system, allowing attackers to view sensitive system metrics, potentially leading to further system reconnaissance and lateral movement.
Likely Case
Unauthorized access to system monitoring data, exposing internal network information and system performance metrics to attackers.
If Mitigated
No impact if proper access controls are configured or the system is patched.
🎯 Exploit Status
Exploitation is trivial - simply accessing the Monitorix web interface without authentication bypasses the basic auth protection.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 3.13.1
Vendor Advisory: https://github.com/mikaku/Monitorix/issues/309
Restart Required: Yes
Instructions:
1. Update Monitorix to version 3.13.1 or later. 2. Restart the Monitorix service. 3. Verify the hosts_deny option is properly configured in /etc/monitorix/monitorix.conf.
🔧 Temporary Workarounds
Configure hosts_deny option
linuxManually configure the hosts_deny option in monitorix.conf to restrict access
Edit /etc/monitorix/monitorix.conf and add: hosts_deny = all
Then restart: systemctl restart monitorix
Network access control
linuxUse firewall rules to restrict access to Monitorix web interface
iptables -A INPUT -p tcp --dport 8080 -s trusted_ip -j ACCEPT
iptables -A INPUT -p tcp --dport 8080 -j DROP
🧯 If You Can't Patch
- Immediately configure the hosts_deny option in monitorix.conf to restrict access
- Implement network-level access controls using firewall rules to limit Monitorix access to trusted IPs only
🔍 How to Verify
Check if Vulnerable:
Check if accessing http://[monitorix_host]:8080/monitorix without credentials shows the dashboard. If it does, the system is vulnerable.
Check Version:
monitorix -v or check /usr/share/monitorix/version
Verify Fix Applied:
After patching, attempt to access the Monitorix interface without credentials - you should be prompted for authentication or receive an access denied message.
📡 Detection & Monitoring
Log Indicators:
- Unauthenticated access attempts to Monitorix web interface
- Successful access without authentication logs
Network Indicators:
- HTTP requests to Monitorix port (default 8080) without authentication headers
- Traffic from unexpected sources to Monitorix interface
SIEM Query:
source="monitorix" AND (event="access" OR event="auth") AND user="-" AND response="200"
🔗 References
- https://github.com/mikaku/Monitorix/commit/d6816e20da1a98bcdc6372d9c36a093df5238f4a
- https://github.com/mikaku/Monitorix/compare/v3.13.0...v3.13.1
- https://github.com/mikaku/Monitorix/issues/309
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/67DDUU56LP76AJ2K7WJ733QPL2FHKKNG/
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/IGG6WK44CYY6GEFRTCUEDANVNSX5NDH7/
- https://www.monitorix.org/news.html?n=20210127
- https://github.com/mikaku/Monitorix/commit/d6816e20da1a98bcdc6372d9c36a093df5238f4a
- https://github.com/mikaku/Monitorix/compare/v3.13.0...v3.13.1
- https://github.com/mikaku/Monitorix/issues/309
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/67DDUU56LP76AJ2K7WJ733QPL2FHKKNG/
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/IGG6WK44CYY6GEFRTCUEDANVNSX5NDH7/
- https://www.monitorix.org/news.html?n=20210127