CVE-2021-27200

9.8 CRITICAL

📋 TL;DR

CVE-2021-27200 is a critical authentication bypass vulnerability in WoWonder's password recovery system. Attackers can predict password reset codes based on time of day, allowing them to take over any user account. All WoWonder 3.0.4 installations with default configuration are affected.

💻 Affected Systems

Products:
  • WoWonder Social Network Platform
Versions: 3.0.4
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: All installations using the default recover.php functionality are vulnerable. No special configuration required.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete compromise of all user accounts including administrators, leading to data theft, privilege escalation, and full system takeover.

🟠

Likely Case

Account takeover of targeted users, unauthorized access to sensitive data, and potential lateral movement within the system.

🟢

If Mitigated

Limited impact if strong network controls prevent external access, but internal users could still be compromised.

🌐 Internet-Facing: HIGH - The vulnerability is remotely exploitable without authentication and affects internet-facing web applications.
🏢 Internal Only: HIGH - Even internal systems are vulnerable as the exploit requires only web access to the application.

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: CONFIRMED
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Exploit code is publicly available and requires minimal technical skill to execute. Attackers only need to predict the reset code based on time.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 3.0.5 and later

Vendor Advisory: https://www.wowonder.com

Restart Required: No

Instructions:

1. Upgrade WoWonder to version 3.0.5 or later. 2. Replace the vulnerable recover.php file with the patched version. 3. No server restart required for PHP applications.

🔧 Temporary Workarounds

Disable Password Recovery

linux

Temporarily disable the password recovery functionality to prevent exploitation.

# Rename or remove recover.php file
mv /path/to/wowonder/recover.php /path/to/wowonder/recover.php.disabled

Implement Rate Limiting

linux

Add rate limiting to password reset requests to make brute-force attacks more difficult.

# Configure web server rate limiting (nginx example)
limit_req_zone $binary_remote_addr zone=reset:10m rate=1r/m;
location ~* recover\.php { limit_req zone=reset burst=5; }

🧯 If You Can't Patch

  • Implement web application firewall (WAF) rules to block suspicious password reset patterns
  • Monitor and alert on unusual password reset activity, especially multiple attempts from single IPs

🔍 How to Verify

Check if Vulnerable:

Check if recover.php exists and examine its code for weak cryptographic algorithms. Version check: grep 'WoWonder Version' configuration files or check admin panel.

Check Version:

grep -r 'WoWonder.*Version' /path/to/wowonder/ || cat /path/to/wowonder/config.php | grep version

Verify Fix Applied:

Verify WoWonder version is 3.0.5 or later. Check that recover.php uses strong random token generation instead of time-based prediction.

📡 Detection & Monitoring

Log Indicators:

  • Multiple failed password reset attempts from single IP
  • Successful password resets for multiple accounts from same IP in short timeframe
  • Unusual password reset patterns outside normal business hours

Network Indicators:

  • HTTP POST requests to recover.php with predictable code patterns
  • Rapid succession of password reset requests

SIEM Query:

source=web_logs (url="*recover.php*") | stats count by src_ip, user_agent | where count > 5

🔗 References

📤 Share & Export