CVE-2024-0567

7.5 HIGH

📋 TL;DR

A vulnerability in GnuTLS causes Cockpit to reject certificate chains with distributed trust when using cockpit-certificate-ensure, allowing unauthenticated remote attackers to trigger denial of service. This affects systems running Cockpit with GnuTLS in vulnerable configurations.

💻 Affected Systems

Products:
  • Cockpit (using GnuTLS)
  • GnuTLS
Versions: GnuTLS versions before 3.8.3, Cockpit versions using vulnerable GnuTLS
Operating Systems: Linux distributions including RHEL, Fedora, CentOS, Debian, Ubuntu
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects systems where cockpit-certificate-ensure is used for certificate chain validation with distributed trust configurations.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete service unavailability for Cockpit web interface and management functions, disrupting system administration capabilities.

🟠

Likely Case

Intermittent service disruptions for Cockpit when certificate validation fails, requiring manual intervention to restore functionality.

🟢

If Mitigated

Minimal impact with proper network segmentation and access controls limiting exposure to untrusted clients.

🌐 Internet-Facing: HIGH - Unauthenticated remote exploitation allows attackers to easily trigger DoS against exposed Cockpit instances.
🏢 Internal Only: MEDIUM - Internal attackers or compromised systems could still trigger DoS, but requires network access.

🎯 Exploit Status

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

Simple certificate chain manipulation can trigger the vulnerability without authentication.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: GnuTLS 3.8.3 or later

Vendor Advisory: https://access.redhat.com/security/cve/CVE-2024-0567

Restart Required: Yes

Instructions:

1. Update GnuTLS to version 3.8.3 or later using your distribution's package manager. 2. Restart Cockpit service: systemctl restart cockpit. 3. Verify the update with: gnutls-cli --version

🔧 Temporary Workarounds

Disable cockpit-certificate-ensure

linux

Temporarily disable the certificate validation component that triggers the vulnerability

systemctl stop cockpit
systemctl disable cockpit

Network Access Restriction

linux

Limit Cockpit access to trusted networks only

firewall-cmd --permanent --remove-service=cockpit
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="TRUSTED_IP_RANGE" service name="cockpit" accept'
firewall-cmd --reload

🧯 If You Can't Patch

  • Implement strict network segmentation to isolate Cockpit from untrusted networks
  • Monitor Cockpit service health and implement automated restart scripts for service recovery

🔍 How to Verify

Check if Vulnerable:

Check GnuTLS version: gnutls-cli --version | grep 'gnutls' and compare to 3.8.3. If version < 3.8.3, system is vulnerable.

Check Version:

gnutls-cli --version

Verify Fix Applied:

Verify GnuTLS version is 3.8.3 or higher: gnutls-cli --version. Test certificate validation with cockpit-certificate-ensure.

📡 Detection & Monitoring

Log Indicators:

  • Cockpit service crashes or restarts in system logs
  • Certificate validation errors in Cockpit logs
  • Increased failed authentication attempts

Network Indicators:

  • Multiple certificate validation requests from single source
  • Unusual certificate chain submissions to Cockpit port

SIEM Query:

source="cockpit" AND ("certificate" OR "validation" OR "crash")

🔗 References

📤 Share & Export