CVE-2025-21579

4.9 MEDIUM

📋 TL;DR

This vulnerability in MySQL Server allows high-privileged attackers with network access to cause a denial of service (DoS) by crashing or hanging the server. It affects MySQL versions 8.0.0-8.0.41, 8.4.0-8.4.4, and 9.0.0-9.2.0. Attackers need administrative database privileges but can exploit it remotely via multiple protocols.

💻 Affected Systems

Products:
  • Oracle MySQL Server
Versions: 8.0.0-8.0.41, 8.4.0-8.4.4, 9.0.0-9.2.0
Operating Systems: All platforms running affected MySQL versions
Default Config Vulnerable: ⚠️ Yes
Notes: Affects the Server: Options component. Requires attacker to have high privileges (PR:H in CVSS).

📦 What is this software?

⚠️ 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 admin accounts.

🟢

If Mitigated

Limited impact due to proper access controls and network segmentation preventing unauthorized admin access.

🌐 Internet-Facing: MEDIUM - While exploitable remotely, attackers need high privileges which are typically not exposed externally.
🏢 Internal Only: HIGH - Malicious insiders or compromised admin accounts can easily exploit this to disrupt database services.

🎯 Exploit Status

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

CVSS indicates 'easily exploitable' but requires high privileges. No public exploit code identified in references.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Versions after 8.0.41, 8.4.4, and 9.2.0 (check Oracle's Critical Patch Update for exact fixed versions)

Vendor Advisory: https://www.oracle.com/security-alerts/cpuapr2025.html

Restart Required: Yes

Instructions:

1. Review Oracle's April 2025 Critical Patch Update advisory. 2. Identify fixed versions for your MySQL release. 3. Apply patches through your standard update process. 4. Restart MySQL service after patching.

🔧 Temporary Workarounds

Restrict Administrative Access

all

Limit network access to MySQL administrative interfaces and reduce number of high-privilege accounts.

# Review and remove unnecessary admin accounts
SELECT user, host FROM mysql.user WHERE Super_priv = 'Y';
# Restrict network access in my.cnf
bind-address = internal_ip_only

🧯 If You Can't Patch

  • Implement strict network segmentation to isolate MySQL servers from untrusted networks
  • Enforce principle of least privilege for database accounts and monitor admin activity

🔍 How to Verify

Check if Vulnerable:

Check MySQL version: SELECT VERSION(); and compare against affected ranges.

Check Version:

mysql -e "SELECT VERSION();"

Verify Fix Applied:

Verify version is above affected ranges and check Oracle advisory for specific fixed versions.

📡 Detection & Monitoring

Log Indicators:

  • Unexpected MySQL crashes or hangs
  • Multiple connection attempts from admin accounts followed by service disruption

Network Indicators:

  • Unusual traffic patterns to MySQL administrative ports from unexpected sources

SIEM Query:

source="mysql.log" ("crash" OR "hang" OR "shutdown") AND (user="root" OR Super_priv="Y")

🔗 References

📤 Share & Export