CVE-2020-23359

9.8 CRITICAL

📋 TL;DR

This vulnerability in WeBid 1.2.2 allows attackers to bypass password confirmation during user registration due to improper loose comparison. This affects all WeBid installations using the vulnerable version, potentially allowing unauthorized account creation with weak or mismatched passwords.

💻 Affected Systems

Products:
  • WeBid
Versions: 1.2.2
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects the admin/newuser.php registration functionality. Other authentication mechanisms may not be impacted.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers create administrative accounts with weak passwords, gaining full control over the auction platform to manipulate bids, steal user data, or deface the site.

🟠

Likely Case

Malicious users create accounts with intentionally weak passwords that bypass security checks, enabling account takeover or fraudulent activities.

🟢

If Mitigated

With proper monitoring and strong password policies, impact is limited to potential account creation anomalies that can be detected and remediated.

🌐 Internet-Facing: HIGH
🏢 Internal Only: LOW

🎯 Exploit Status

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

Exploitation requires access to the registration page, which may be restricted to administrators in some configurations.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 1.2.3 or later

Vendor Advisory: https://github.com/renlok/WeBid/issues/530

Restart Required: No

Instructions:

1. Backup current installation. 2. Download latest WeBid version from official repository. 3. Replace admin/newuser.php with patched version. 4. Verify password comparison uses strict equality (===) instead of loose equality (==).

🔧 Temporary Workarounds

Disable User Registration

linux

Temporarily disable the vulnerable registration endpoint to prevent exploitation.

mv admin/newuser.php admin/newuser.php.disabled

Implement Web Application Firewall Rule

all

Block requests to the vulnerable endpoint using WAF rules.

🧯 If You Can't Patch

  • Implement strong password policy enforcement at application layer
  • Enable detailed logging for all user registration attempts and monitor for anomalies

🔍 How to Verify

Check if Vulnerable:

Examine admin/newuser.php code for loose comparison (==) instead of strict comparison (===) in password validation logic.

Check Version:

grep -i 'version' includes/version.php

Verify Fix Applied:

Test registration with mismatched passwords to ensure proper validation occurs.

📡 Detection & Monitoring

Log Indicators:

  • Multiple failed registration attempts with mismatched passwords
  • Unusual registration patterns from single IP

Network Indicators:

  • HTTP POST requests to /admin/newuser.php with password mismatch

SIEM Query:

source="web_logs" url="/admin/newuser.php" method="POST" | search password1!=password2

🔗 References

📤 Share & Export