CVE-2024-23744
📋 TL;DR
A vulnerability in Mbed TLS 3.5.1 causes persistent handshake denial when a client sends a TLS 1.3 ClientHello message without extensions. This allows attackers to cause denial of service by preventing TLS handshake completion. Any system using the vulnerable Mbed TLS version for TLS 1.3 connections is affected.
💻 Affected Systems
- Mbed TLS
📦 What is this software?
⚠️ Risk & Real-World Impact
Worst Case
Complete denial of TLS 1.3 service, making affected services unavailable to legitimate clients until service restart.
Likely Case
Intermittent TLS handshake failures causing service disruption and connection timeouts.
If Mitigated
Minimal impact with proper monitoring and quick incident response to restart affected services.
🎯 Exploit Status
Exploitation requires sending a specially crafted TLS 1.3 ClientHello packet without extensions. The issue is documented in the GitHub repository with technical details.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Mbed TLS 3.5.2 or later
Vendor Advisory: https://github.com/Mbed-TLS/mbedtls/issues/8694
Restart Required: Yes
Instructions:
1. Update Mbed TLS to version 3.5.2 or later. 2. Recompile any applications using Mbed TLS. 3. Restart affected services. 4. Verify TLS 1.3 connections work properly.
🔧 Temporary Workarounds
Disable TLS 1.3
allTemporarily disable TLS 1.3 support to prevent exploitation while maintaining TLS 1.2 functionality.
Configure server to only support TLS 1.2 and earlier protocols
Rate limiting
allImplement connection rate limiting to reduce impact of denial of service attempts.
Configure firewall or load balancer to limit connections per source IP
🧯 If You Can't Patch
- Implement network filtering to block malformed TLS 1.3 ClientHello packets without extensions
- Deploy TLS termination proxies with patched versions in front of vulnerable systems
🔍 How to Verify
Check if Vulnerable:
Check if Mbed TLS version is exactly 3.5.1 and TLS 1.3 is enabled.
Check Version:
Check application documentation or use: mbedtls_version_check() if available in your implementation
Verify Fix Applied:
Verify Mbed TLS version is 3.5.2 or later and test TLS 1.3 connections work properly.
📡 Detection & Monitoring
Log Indicators:
- Multiple TLS handshake failures
- Connection resets during TLS negotiation
- Increased error rates for TLS 1.3 connections
Network Indicators:
- Unusual patterns of TLS 1.3 ClientHello packets
- High volume of failed TLS handshakes from single sources
SIEM Query:
source="tls_logs" AND (error="handshake_failure" OR error="protocol_version") AND tls_version="1.3" | stats count by src_ip