CVE-2021-24804

8.8 HIGH

📋 TL;DR

This vulnerability in the Simple JWT Login WordPress plugin allows attackers to change plugin settings without proper authentication checks. Attackers can modify critical settings like HMAC verification secrets and user registration controls, potentially leading to site takeover. Only WordPress sites using vulnerable versions of this plugin are affected.

💻 Affected Systems

Products:
  • Simple JWT Login WordPress Plugin
Versions: All versions before 3.2.1
Operating Systems: All operating systems running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: Requires WordPress installation with the vulnerable plugin activated. Attack requires an authenticated admin session to be exploited.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete site takeover where attackers can create admin accounts, modify authentication secrets, and gain full control of the WordPress installation.

🟠

Likely Case

Attackers modify plugin settings to enable unauthorized user registration with elevated privileges, leading to backdoor access and potential data compromise.

🟢

If Mitigated

With proper nonce validation and access controls, only authenticated administrators can modify settings, preventing unauthorized changes.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires tricking a logged-in administrator into performing an action (CSRF attack). The vulnerability is well-documented in security advisories.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 3.2.1

Vendor Advisory: https://wpscan.com/vulnerability/6f015e8e-462b-4ef7-a9a1-bb91e7d28e37

Restart Required: No

Instructions:

1. Log into WordPress admin panel. 2. Navigate to Plugins → Installed Plugins. 3. Find Simple JWT Login plugin. 4. Click 'Update Now' if available. 5. Alternatively, download version 3.2.1+ from WordPress repository and manually update.

🔧 Temporary Workarounds

Disable Plugin

all

Temporarily disable the vulnerable plugin until patching is possible

wp plugin deactivate simple-jwt-login

Implement CSRF Protection

all

Add custom nonce validation to plugin settings pages via custom code or security plugin

🧯 If You Can't Patch

  • Restrict admin access to trusted IP addresses only
  • Implement web application firewall rules to block CSRF attacks targeting plugin settings endpoints

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin → Plugins → Simple JWT Login → View version. If version is below 3.2.1, system is vulnerable.

Check Version:

wp plugin get simple-jwt-login --field=version

Verify Fix Applied:

Confirm plugin version is 3.2.1 or higher in WordPress admin panel.

📡 Detection & Monitoring

Log Indicators:

  • Unusual POST requests to /wp-admin/admin.php?page=simple-jwt-login-settings
  • Multiple failed authentication attempts followed by settings modification

Network Indicators:

  • CSRF attacks targeting plugin settings endpoints
  • Unexpected modifications to plugin configuration

SIEM Query:

source="wordpress" AND (uri="/wp-admin/admin.php?page=simple-jwt-login-settings" OR plugin="simple-jwt-login") AND action="settings_update"

🔗 References

📤 Share & Export