CVE-2023-6156
📋 TL;DR
This vulnerability allows authorized users of Checkmk to execute arbitrary livestatus commands by exploiting improper neutralization of command delimiters in the availability timeline. Attackers with valid credentials can potentially execute unauthorized commands on the monitoring system. Affected versions include Checkmk <= 2.0.0p39, < 2.1.0p37, and < 2.2.0p15.
💻 Affected Systems
- Checkmk
📦 What is this software?
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
Checkmk by Checkmk
⚠️ Risk & Real-World Impact
Worst Case
Authorized malicious user gains full control of the monitoring system, executes arbitrary commands, accesses sensitive monitoring data, and potentially pivots to other systems in the environment.
Likely Case
Authorized user with limited privileges escalates their access to execute unauthorized livestatus commands, potentially disrupting monitoring or accessing sensitive system information.
If Mitigated
With proper access controls and network segmentation, impact is limited to the monitoring system itself without ability to pivot to production systems.
🎯 Exploit Status
Exploitation requires authorized user access. The vulnerability involves command injection through improper input sanitization in livestatus command delimiters.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Checkmk 2.0.0p40, 2.1.0p37, 2.2.0p15 and later
Vendor Advisory: https://checkmk.com/werk/16221
Restart Required: Yes
Instructions:
1. Backup your Checkmk configuration. 2. Update to Checkmk 2.0.0p40, 2.1.0p37, or 2.2.0p15 or later. 3. Restart the Checkmk services. 4. Verify the update was successful.
🔧 Temporary Workarounds
Restrict User Access
allLimit access to the availability timeline feature to only essential users who require it for their duties.
Network Segmentation
allIsolate the Checkmk monitoring system from production systems to limit potential lateral movement if exploited.
🧯 If You Can't Patch
- Implement strict access controls and review user permissions for Checkmk
- Monitor livestatus command logs for unusual activity and implement alerting
🔍 How to Verify
Check if Vulnerable:
Check your Checkmk version using 'omd version' command and compare against affected versions: <= 2.0.0p39, < 2.1.0p37, < 2.2.0p15
Check Version:
omd version
Verify Fix Applied:
After patching, verify version is 2.0.0p40+, 2.1.0p37+, or 2.2.0p15+ using 'omd version' command
📡 Detection & Monitoring
Log Indicators:
- Unusual livestatus commands in Checkmk logs
- Multiple failed authentication attempts followed by successful login and livestatus commands
- Commands with unusual delimiters or special characters in availability timeline requests
Network Indicators:
- Unusual livestatus API calls from user accounts
- Multiple livestatus commands in quick succession from single user
SIEM Query:
source="checkmk" AND (livestatus_command="*;*" OR livestatus_command="*|*" OR livestatus_command="*&*")