CVE-2025-21577

6.5 MEDIUM

📋 TL;DR

This vulnerability in MySQL Server's InnoDB component allows authenticated attackers with low privileges to cause a denial of service (DoS) by crashing or hanging the database 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 network access and valid credentials to exploit this vulnerability.

💻 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: Requires attacker to have CREATE, INSERT, UPDATE, or DELETE privileges on at least one database table.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete unavailability of MySQL database service, disrupting all applications dependent on the database.

🟠

Likely Case

Service disruption causing application downtime until MySQL is restarted.

🟢

If Mitigated

Limited impact with proper network segmentation and privilege restrictions.

🌐 Internet-Facing: HIGH - Network accessible with low privilege requirements makes internet-facing instances prime targets.
🏢 Internal Only: MEDIUM - Internal attackers with database credentials can still cause service disruption.

🎯 Exploit Status

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

Oracle rates this as 'Easily exploitable' requiring only low privileges and network access via multiple protocols.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Apply Critical Patch Update for April 2025 or later

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

Restart Required: Yes

Instructions:

1. Download the appropriate Critical Patch Update from Oracle. 2. Apply the patch following Oracle's MySQL update procedures. 3. Restart the MySQL service to apply changes.

🔧 Temporary Workarounds

Network Access Restriction

all

Restrict network access to MySQL servers to only trusted hosts and applications.

# In MySQL configuration (my.cnf): bind-address = 127.0.0.1
# Or use firewall: sudo ufw deny 3306/tcp

Privilege Minimization

all

Apply principle of least privilege to database users, removing unnecessary permissions.

REVOKE ALL PRIVILEGES ON *.* FROM 'username'@'host';
GRANT SELECT, INSERT, UPDATE, DELETE ON specific_db.* TO 'username'@'host';

🧯 If You Can't Patch

  • Implement strict network segmentation and firewall rules to limit MySQL access to essential systems only.
  • Apply database user privilege reviews and remove unnecessary permissions, especially CREATE and DROP privileges.

🔍 How to Verify

Check if Vulnerable:

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

Check Version:

mysql -u root -p -e 'SELECT VERSION();'

Verify Fix Applied:

Verify version is updated beyond affected ranges and check Oracle patch documentation for specific fix verification.

📡 Detection & Monitoring

Log Indicators:

  • Unexpected MySQL crashes or restarts
  • Error logs showing InnoDB corruption or assertion failures
  • Multiple failed connection attempts followed by service disruption

Network Indicators:

  • Unusual traffic patterns to MySQL port 3306 from unexpected sources
  • Multiple rapid queries from single source followed by service unavailability

SIEM Query:

source="mysql_error.log" AND ("crash" OR "assertion" OR "InnoDB" AND "fatal")

🔗 References

📤 Share & Export