CVE-2024-21193
📋 TL;DR
This vulnerability allows high-privileged attackers with network access to cause a denial of service (DoS) by crashing or hanging MySQL Server. It affects MySQL Server versions 8.0.39 and prior, 8.4.2 and prior, and 9.0.1 and prior. The attack requires high privileges but is easily exploitable via multiple protocols.
💻 Affected Systems
- Oracle MySQL Server
📦 What is this software?
Mysql by Oracle
Mysql by Oracle
Mysql by Oracle
Mysql by Oracle
⚠️ Risk & Real-World Impact
Worst Case
Complete unavailability of MySQL Server leading to application downtime and service disruption.
Likely Case
Targeted DoS attacks against vulnerable MySQL instances by malicious insiders or compromised high-privilege accounts.
If Mitigated
Limited impact due to proper access controls and network segmentation preventing unauthorized high-privilege access.
🎯 Exploit Status
CVSS indicates 'easily exploitable' but requires high privileges. No public exploit details available as of advisory date.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 8.0.40, 8.4.3, 9.0.2 or later
Vendor Advisory: https://www.oracle.com/security-alerts/cpuoct2024.html
Restart Required: Yes
Instructions:
1. Download appropriate patch from Oracle. 2. Backup databases. 3. Stop MySQL service. 4. Apply patch. 5. Restart MySQL service. 6. Verify version and functionality.
🔧 Temporary Workarounds
Restrict Network Access
allLimit network access to MySQL Server to only trusted hosts and applications
# Configure MySQL bind-address to specific IPs
# Use firewall rules to restrict MySQL port (default 3306) access
Principle of Least Privilege
allMinimize high-privilege accounts and implement strict access controls
# Review and reduce users with SUPER, PROCESS, or similar high privileges
# Implement role-based access control
🧯 If You Can't Patch
- Implement strict network segmentation to isolate MySQL servers from untrusted networks
- Enforce strong authentication and limit high-privilege accounts to essential personnel only
🔍 How to Verify
Check if Vulnerable:
Check MySQL version: SELECT VERSION(); If version is 8.0.39 or earlier, 8.4.2 or earlier, or 9.0.1 or earlier, system is vulnerable.
Check Version:
mysql -u [user] -p -e 'SELECT VERSION();'
Verify Fix Applied:
After patching, run SELECT VERSION(); and confirm version is 8.0.40+, 8.4.3+, or 9.0.2+.
📡 Detection & Monitoring
Log Indicators:
- Unexpected MySQL crashes or hangs
- Multiple connection attempts from high-privilege accounts
- Error logs showing prepared statement failures
Network Indicators:
- Unusual traffic patterns to MySQL port from internal sources
- Multiple protocol connections from single high-privilege source
SIEM Query:
source="mysql.log" ("crash" OR "hang" OR "shutdown") AND ("prepared statement" OR "PS")