CVE-2024-50802

6.0 MEDIUM

📋 TL;DR

A SQL injection vulnerability in AbanteCart 1.4.0 allows attackers to execute arbitrary SQL commands via the id parameter in the update() function. This affects administrators using the email templates management interface. Successful exploitation could lead to unauthorized data access or manipulation.

💻 Affected Systems

Products:
  • AbanteCart
Versions: 1.4.0
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects the admin interface, requiring admin authentication. The vulnerability is in the email templates management section.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete database compromise including sensitive customer data, admin credentials, and potential remote code execution through database functions.

🟠

Likely Case

Unauthorized access to email templates, customer data, and potentially admin credentials stored in the database.

🟢

If Mitigated

Limited impact due to proper input validation, parameterized queries, and database user privilege restrictions.

🌐 Internet-Facing: MEDIUM - Requires admin panel access which is typically protected but could be exposed.
🏢 Internal Only: MEDIUM - Admin users with access could be compromised or make mistakes enabling exploitation.

🎯 Exploit Status

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

Exploitation requires admin authentication. The vulnerability is well-documented with proof-of-concept available.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 1.4.1 or later

Vendor Advisory: https://github.com/abantecart/abantecart-src

Restart Required: No

Instructions:

1. Backup your database and files. 2. Download latest version from GitHub. 3. Replace affected files. 4. Clear cache. 5. Test functionality.

🔧 Temporary Workarounds

Input Validation Filter

all

Add input validation to sanitize the id parameter before processing

Edit public_html/admin/controller/responses/listing_grid/email_templates.php and add: $id = (int)$_POST['id']; before SQL queries

WAF Rule

all

Implement web application firewall rules to block SQL injection patterns

Add WAF rule: Detect and block SQL injection patterns in POST parameters

🧯 If You Can't Patch

  • Restrict admin panel access to specific IP addresses only
  • Implement database user with minimal privileges (read-only where possible)

🔍 How to Verify

Check if Vulnerable:

Check if running AbanteCart 1.4.0 and examine the email_templates.php file for unsanitized id parameter usage.

Check Version:

Check includes/version.php or admin dashboard for version number

Verify Fix Applied:

Verify version is 1.4.1+ and check that id parameter is properly validated in the update() function.

📡 Detection & Monitoring

Log Indicators:

  • Unusual SQL queries in database logs
  • Multiple failed login attempts to admin panel
  • Unexpected email template modifications

Network Indicators:

  • SQL injection patterns in POST requests to admin/controller/responses/listing_grid/email_templates.php

SIEM Query:

source="web_logs" AND uri="*email_templates.php*" AND (POST_data="*UNION*" OR POST_data="*SELECT*" OR POST_data="*INSERT*")

🔗 References

📤 Share & Export