CVE-2024-55159

4.2 MEDIUM

📋 TL;DR

GFast versions 2.0 through 3.2 contain a SQL injection vulnerability in the login log listing endpoint. Attackers can inject malicious SQL queries through the SortName parameter, potentially accessing or manipulating database contents. This affects all GFast deployments using vulnerable versions.

💻 Affected Systems

Products:
  • GFast
Versions: v2.0 to v3.2
Operating Systems: All platforms running GFast
Default Config Vulnerable: ⚠️ Yes
Notes: All deployments using the vulnerable /system/loginLog/list endpoint are affected.

⚠️ Manual Verification Required

This CVE does not have specific version information in our database, so automatic vulnerability detection cannot determine if your system is affected.

Why? The CVE database entry doesn't specify which versions are vulnerable (no version ranges provided by the vendor/NVD).

🔒 Custom verification scripts are available for registered users. Sign up free to download automated test scripts.

Recommended Actions:
  1. Review the CVE details at NVD
  2. Check vendor security advisories for your specific version
  3. Test if the vulnerability is exploitable in your environment
  4. Consider updating to the latest version as a precaution

⚠️ Risk & Real-World Impact

🔴

Worst Case

Full database compromise including authentication bypass, data exfiltration, or complete system takeover via SQL injection leading to remote code execution.

🟠

Likely Case

Unauthorized data access from the login logs table and potentially other database tables accessible to the application's database user.

🟢

If Mitigated

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

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires access to the login log endpoint, which typically requires authentication. The vulnerability is in the Go source code at line 75 of sys_login_log.go.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: v3.3 or later

Vendor Advisory: https://github.com/tiger1103/gfast

Restart Required: Yes

Instructions:

1. Upgrade GFast to version 3.3 or later. 2. Review and apply the fix in sys_login_log.go line 75. 3. Restart the GFast application service.

🔧 Temporary Workarounds

Input Validation Filter

all

Add input validation to reject malicious SortName parameter values

Implement regex validation: ^[a-zA-Z0-9_]+$ for SortName parameter

WAF Rule

all

Block SQL injection patterns in the SortName parameter

Add WAF rule: Detect SQL injection patterns in POST/GET parameters to /system/loginLog/list

🧯 If You Can't Patch

  • Implement a web application firewall (WAF) with SQL injection protection rules
  • Restrict network access to the GFast application to trusted IP addresses only

🔍 How to Verify

Check if Vulnerable:

Check if GFast version is between 2.0 and 3.2 inclusive, and review sys_login_log.go line 75 for unsafe SQL concatenation.

Check Version:

Check GFast configuration files or application metadata for version information

Verify Fix Applied:

Verify GFast version is 3.3 or later, and confirm sys_login_log.go line 75 uses parameterized queries or proper input sanitization.

📡 Detection & Monitoring

Log Indicators:

  • Unusual SQL queries in application logs
  • Multiple failed login attempts with unusual SortName parameters
  • Database error messages containing SQL syntax

Network Indicators:

  • HTTP requests to /system/loginLog/list with SQL keywords in parameters
  • Unusual database query patterns from application server

SIEM Query:

source="web_logs" AND uri="/system/loginLog/list" AND (param="SortName" AND value MATCHES "(?i)(union|select|insert|update|delete|drop|exec|--|#)")

🔗 References

📤 Share & Export