CVE-2024-43776

8.8 HIGH

📋 TL;DR

This SQL injection vulnerability in Easytest Online Test Platform allows authenticated attackers to execute arbitrary SQL commands via the qlevel parameter in the mock exam function. Attackers could potentially read, modify, or delete database content, including sensitive user data. All users of Easytest Online Test Platform version 24E01 and earlier are affected.

💻 Affected Systems

Products:
  • Easytest Online Test Platform
Versions: 24E01 and earlier
Operating Systems: Any OS running the platform
Default Config Vulnerable: ⚠️ Yes
Notes: Requires authenticated user access to exploit the mock exam function.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete database compromise leading to data theft, data destruction, or full system takeover via SQL injection to RCE chaining.

🟠

Likely Case

Unauthorized access to sensitive user data (exam results, personal information), database manipulation, or privilege escalation.

🟢

If Mitigated

Limited impact if proper input validation and parameterized queries are implemented, though some data exposure may still occur.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: LOW

SQL injection via qlevel parameter requires authenticated access but is straightforward to exploit.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Unknown

Vendor Advisory: https://zuso.ai/advisory/za-2024-09

Restart Required: No

Instructions:

1. Check vendor for official patch. 2. If patch available, apply immediately. 3. Verify fix by testing qlevel parameter injection.

🔧 Temporary Workarounds

Input Validation Filter

all

Implement server-side validation to restrict qlevel parameter to expected values only

WAF Rule

all

Deploy web application firewall rules to block SQL injection patterns in qlevel parameter

🧯 If You Can't Patch

  • Disable mock exam function entirely if not critical
  • Implement strict input validation and parameterized queries for all database interactions

🔍 How to Verify

Check if Vulnerable:

Test qlevel parameter with SQL injection payloads in mock exam function

Check Version:

Check platform version in admin panel or configuration files

Verify Fix Applied:

Attempt SQL injection via qlevel parameter and verify it's blocked or sanitized

📡 Detection & Monitoring

Log Indicators:

  • Unusual SQL queries in database logs
  • Multiple failed login attempts followed by mock exam access
  • qlevel parameter with SQL keywords

Network Indicators:

  • HTTP requests to mock exam endpoint with suspicious qlevel values
  • Unusual database traffic patterns

SIEM Query:

source="web_logs" AND uri="/mock-exam" AND query_string="*qlevel=*" AND (query_string="*UNION*" OR query_string="*SELECT*" OR query_string="*INSERT*")

🔗 References

📤 Share & Export