CVE-2025-15521

9.8 CRITICAL

📋 TL;DR

This vulnerability allows unauthenticated attackers to change any user's password in the Academy LMS WordPress plugin, including administrator accounts, leading to complete account takeover. All WordPress sites using Academy LMS plugin versions up to 3.5.0 are affected. Attackers can gain administrative access to vulnerable WordPress installations.

💻 Affected Systems

Products:
  • Academy LMS – WordPress LMS Plugin for Complete eLearning Solution
Versions: All versions up to and including 3.5.0
Operating Systems: Any OS running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: All WordPress installations with the vulnerable plugin enabled are affected regardless of configuration.

⚠️ Manual Verification Required

This CVE does not have specific version information in our database, so automatic vulnerability detection cannot determine if your system is affected.

Why? The CVE database entry doesn't specify which versions are vulnerable (no version ranges provided by the vendor/NVD).

🔒 Custom verification scripts are available for registered users. Sign up free to download automated test scripts.

Recommended Actions:
  1. Review the CVE details at NVD
  2. Check vendor security advisories for your specific version
  3. Test if the vulnerability is exploitable in your environment
  4. Consider updating to the latest version as a precaution

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete compromise of WordPress site with administrative access, data theft, malware installation, and potential lateral movement to other systems.

🟠

Likely Case

Administrative account takeover leading to defacement, data exfiltration, or installation of backdoors for persistent access.

🟢

If Mitigated

Limited impact if strong network segmentation, web application firewalls, and monitoring are in place to detect and block exploitation attempts.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: LIKELY
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

The vulnerability is straightforward to exploit as it requires no authentication and uses publicly accessible nonces for authorization.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 3.5.1 or later

Vendor Advisory: https://plugins.trac.wordpress.org/browser/academy/tags/3.5.1

Restart Required: No

Instructions:

1. Log into WordPress admin panel. 2. Navigate to Plugins → Installed Plugins. 3. Find Academy LMS plugin. 4. Click 'Update Now' if update is available. 5. If no update appears, manually download version 3.5.1+ from WordPress.org and replace plugin files.

🔧 Temporary Workarounds

Disable Academy LMS Plugin

linux

Temporarily disable the vulnerable plugin until patching is possible.

wp plugin deactivate academy

Web Application Firewall Rule

all

Block requests to the vulnerable password reset endpoint.

Block POST requests to /wp-admin/admin-ajax.php with action=academy_reset_password

🧯 If You Can't Patch

  • Immediately disable the Academy LMS plugin and use alternative LMS solutions.
  • Implement strict network access controls to limit exposure of the WordPress admin interface.

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin → Plugins → Academy LMS → Version number. If version is 3.5.0 or lower, the site is vulnerable.

Check Version:

wp plugin get academy --field=version

Verify Fix Applied:

Verify Academy LMS plugin version is 3.5.1 or higher in WordPress admin panel.

📡 Detection & Monitoring

Log Indicators:

  • Unusual POST requests to /wp-admin/admin-ajax.php with action=academy_reset_password
  • Multiple failed login attempts followed by successful login from new IP
  • Password reset logs for administrator accounts

Network Indicators:

  • HTTP POST requests to WordPress admin-ajax.php with academy_reset_password parameter from unauthenticated sources

SIEM Query:

source="web_logs" AND uri="/wp-admin/admin-ajax.php" AND method="POST" AND params.action="academy_reset_password"

🔗 References

📤 Share & Export