CVE-2025-21490

4.9 MEDIUM

📋 TL;DR

This vulnerability in MySQL Server's InnoDB component allows high-privileged attackers with network access to cause a denial of service by crashing or hanging the server. It affects MySQL 8.0.40 and prior, 8.4.3 and prior, and 9.1.0 and prior versions. Attackers need administrative database privileges but can exploit it remotely via multiple protocols.

💻 Affected Systems

Products:
  • Oracle MySQL Server
Versions: 8.0.40 and prior, 8.4.3 and prior, 9.1.0 and prior
Operating Systems: All operating systems running affected MySQL versions
Default Config Vulnerable: ⚠️ Yes
Notes: Requires attacker to have high privileges (PR:H in CVSS), typically administrative database access.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete MySQL Server outage causing application downtime and service disruption until server restart.

🟠

Likely Case

Targeted DoS attacks against MySQL databases 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 reduces exposure.
🏢 Internal Only: HIGH - Internal attackers with admin access or compromised admin accounts can easily cause service disruption.

🎯 Exploit Status

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

CVSS indicates 'Easily exploitable' but requires high privilege access. No public exploit code identified in references.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: MySQL 8.0.41, 8.4.4, 9.1.1 or later

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

Restart Required: Yes

Instructions:

1. Backup databases and configuration. 2. Download patched version from Oracle. 3. Stop MySQL service. 4. Install updated version. 5. Restart MySQL service. 6. Verify functionality.

🔧 Temporary Workarounds

Restrict Network Access

all

Limit MySQL server network exposure to only trusted hosts and applications

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

Minimize Admin Privileges

all

Reduce number of accounts with administrative privileges and implement least privilege

REVOKE ALL PRIVILEGES ON *.* FROM 'admin_user'@'%';
GRANT SELECT, INSERT, UPDATE, DELETE ON specific_db.* TO 'app_user'@'specific_host';

🧯 If You Can't Patch

  • Implement strict network segmentation to isolate MySQL servers from untrusted networks
  • Enforce strong authentication and monitor for unusual admin account activity

🔍 How to Verify

Check if Vulnerable:

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

Check Version:

mysql --version OR SELECT VERSION();

Verify Fix Applied:

Verify version is 8.0.41+, 8.4.4+, or 9.1.1+ and test server stability under load

📡 Detection & Monitoring

Log Indicators:

  • Unexpected MySQL crashes or restarts
  • Multiple connection attempts from admin accounts
  • Error logs showing InnoDB corruption or crashes

Network Indicators:

  • Unusual traffic patterns to MySQL port 3306 from unexpected sources
  • Multiple rapid connections followed by service disruption

SIEM Query:

source="mysql.log" ("crash" OR "shutdown" OR "restart") AND NOT (user="system" OR process="scheduled")

🔗 References

📤 Share & Export