CVE-2024-8606

8.8 HIGH

📋 TL;DR

This vulnerability allows authenticated users in Checkmk monitoring systems to bypass two-factor authentication (2FA) via the REST API. Attackers with valid credentials can access protected resources without providing the required second authentication factor. This affects organizations using Checkmk versions before the patched releases.

💻 Affected Systems

Products:
  • Checkmk
Versions: Checkmk < 2.3.0p16 and < 2.2.0p34
Operating Systems: Linux
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects systems with 2FA enabled for REST API authentication. The vulnerability is in the authentication mechanism itself.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers with stolen credentials gain full administrative access to monitoring systems, potentially modifying alerts, disabling monitoring, or accessing sensitive infrastructure data.

🟠

Likely Case

Privilege escalation where authenticated users bypass 2FA to access administrative functions they shouldn't have access to.

🟢

If Mitigated

Limited impact if strong network segmentation, proper credential management, and additional authentication layers are in place.

🌐 Internet-Facing: HIGH
🏢 Internal Only: HIGH

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: LIKELY
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires valid user credentials but bypasses the 2FA requirement. The vulnerability is in the authentication flow logic.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Checkmk 2.3.0p16 or 2.2.0p34

Vendor Advisory: https://checkmk.com/werk/16218

Restart Required: Yes

Instructions:

1. Backup your Checkmk configuration. 2. Update to Checkmk 2.3.0p16 (for 2.3.x branch) or 2.2.0p34 (for 2.2.x branch). 3. Restart Checkmk services. 4. Verify 2FA is working correctly.

🔧 Temporary Workarounds

Disable REST API access

linux

Temporarily disable REST API access if not required, forcing all authentication through the web interface.

omd config set APACHE_TCP_ADDR 127.0.0.1
omd restart apache

Restrict API network access

linux

Use firewall rules to restrict REST API access to trusted IP addresses only.

iptables -A INPUT -p tcp --dport 5000 -s TRUSTED_IP -j ACCEPT
iptables -A INPUT -p tcp --dport 5000 -j DROP

🧯 If You Can't Patch

  • Implement network segmentation to isolate Checkmk systems from untrusted networks.
  • Enforce strict credential policies including regular password rotation and monitoring for credential misuse.

🔍 How to Verify

Check if Vulnerable:

Check Checkmk version: omd version. If version is below 2.3.0p16 (for 2.3.x) or 2.2.0p34 (for 2.2.x), system is vulnerable.

Check Version:

omd version

Verify Fix Applied:

After patching, test 2FA functionality by attempting to authenticate via REST API with valid credentials but without 2FA token - this should fail.

📡 Detection & Monitoring

Log Indicators:

  • REST API authentication attempts without 2FA tokens
  • Multiple failed 2FA attempts followed by successful authentication
  • Authentication logs showing user access without proper 2FA validation

Network Indicators:

  • Unusual REST API traffic patterns
  • Authentication requests bypassing expected 2FA flow

SIEM Query:

source="checkmk" AND (event="api_auth" AND NOT token_used="2fa") OR (event="auth_success" AND auth_method!="2fa")

🔗 References

📤 Share & Export