CVE-2021-44090

9.8 CRITICAL

📋 TL;DR

This SQL injection vulnerability in Sourcecodester Online Reviewer System 1.0 allows attackers to execute arbitrary SQL commands via the password parameter. Attackers can potentially bypass authentication, access or modify database contents, and gain unauthorized system access. All deployments of this specific software version are affected.

💻 Affected Systems

Products:
  • Sourcecodester Online Reviewer System
Versions: 1.0
Operating Systems: Any
Default Config Vulnerable: ⚠️ Yes
Notes: Affects all deployments of version 1.0 regardless of configuration.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete database compromise leading to data theft, data manipulation, authentication bypass, and potential remote code execution if database permissions allow.

🟠

Likely Case

Authentication bypass allowing unauthorized access to the reviewer system, data exfiltration, and potential privilege escalation.

🟢

If Mitigated

Limited impact with proper input validation, parameterized queries, and database permission restrictions in place.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

SQL injection via password parameter requires no authentication and has public proof-of-concept code available.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Unknown

Vendor Advisory: None known

Restart Required: No

Instructions:

No official patch available. Consider upgrading to a newer version if available or implementing workarounds.

🔧 Temporary Workarounds

Input Validation and Sanitization

all

Implement server-side input validation and sanitization for all user inputs, especially the password parameter.

Web Application Firewall Rules

all

Deploy WAF rules to block SQL injection patterns in HTTP requests.

🧯 If You Can't Patch

  • Implement parameterized queries or prepared statements in the application code
  • Restrict database user permissions to minimum required access

🔍 How to Verify

Check if Vulnerable:

Test password parameter with SQL injection payloads like ' OR '1'='1 and observe if authentication bypass occurs.

Check Version:

Check application version in admin panel or configuration files.

Verify Fix Applied:

Test with same SQL injection payloads after implementing fixes; authentication should fail with invalid credentials.

📡 Detection & Monitoring

Log Indicators:

  • Unusual SQL error messages in application logs
  • Multiple failed login attempts with SQL-like patterns in password field

Network Indicators:

  • HTTP requests containing SQL keywords in password parameter
  • Unusual database query patterns from application server

SIEM Query:

source="web_logs" AND (password CONTAINS "' OR" OR password CONTAINS "UNION" OR password CONTAINS "SELECT")

🔗 References

📤 Share & Export