CVE-2025-21497

5.5 MEDIUM

📋 TL;DR

This vulnerability in MySQL Server's InnoDB component allows authenticated high-privileged attackers to cause denial of service (server crashes/hangs) or modify some data. Affected versions include MySQL 8.0.40 and prior, 8.4.3 and prior, and 9.1.0 and prior.

💻 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 platforms running affected MySQL versions
Default Config Vulnerable: ⚠️ Yes
Notes: Requires high-privilege database accounts (PR:H in CVSS). Component affected is InnoDB storage engine.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete MySQL Server outage (DoS) combined with unauthorized data modification, potentially affecting critical database operations and data integrity.

🟠

Likely Case

Service disruption through server crashes or hangs, requiring restart and causing application downtime.

🟢

If Mitigated

Limited impact due to restricted high-privilege access requirements and network segmentation.

🌐 Internet-Facing: MEDIUM - Requires high-privilege credentials but network access via multiple protocols makes exploitation possible if credentials are compromised.
🏢 Internal Only: MEDIUM - High-privilege attackers within the network can exploit, but proper access controls reduce risk.

🎯 Exploit Status

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

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

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Versions after 8.0.40, 8.4.3, and 9.1.0 (check Oracle Critical Patch Update for exact fixed versions)

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

Restart Required: Yes

Instructions:

1. Review Oracle Critical Patch Update Advisory for exact fixed versions. 2. Apply MySQL patches from Oracle. 3. Restart MySQL service. 4. Verify patch application.

🔧 Temporary Workarounds

Restrict High-Privilege Access

all

Limit accounts with administrative privileges to reduce attack surface

REVOKE SUPER, PROCESS, FILE, SHUTDOWN, RELOAD FROM 'user'@'host';
REVOKE ALL PRIVILEGES ON *.* FROM 'user'@'host';

Network Segmentation

linux

Restrict network access to MySQL ports (3306 default) to trusted sources only

iptables -A INPUT -p tcp --dport 3306 -s trusted_ip -j ACCEPT
iptables -A INPUT -p tcp --dport 3306 -j DROP

🧯 If You Can't Patch

  • Implement strict access controls for high-privilege MySQL accounts
  • Monitor for unusual database crashes or connection attempts from admin accounts

🔍 How to Verify

Check if Vulnerable:

Check MySQL version: SELECT VERSION(); and compare against affected ranges (8.0.40 and prior, 8.4.3 and prior, 9.1.0 and prior)

Check Version:

mysql -u root -p -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/restarts in error logs
  • Multiple failed connection attempts from admin accounts
  • InnoDB corruption or crash messages

Network Indicators:

  • Unusual traffic patterns to MySQL port from unexpected sources
  • Multiple protocol connections to MySQL from single source

SIEM Query:

source="mysql_error.log" ("crash" OR "shutdown" OR "InnoDB") AND severity=ERROR

🔗 References

📤 Share & Export