CVE-2025-69285

6.1 MEDIUM

📋 TL;DR

SQLBot versions before 1.5.0 have an authentication bypass vulnerability in the /api/v1/datasource/uploadExcel endpoint. Unauthenticated attackers can upload arbitrary Excel/CSV files that get directly inserted into the PostgreSQL database, potentially corrupting or manipulating data. All SQLBot deployments using affected versions are vulnerable.

💻 Affected Systems

Products:
  • SQLBot
Versions: All versions prior to 1.5.0
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Vulnerability exists due to endpoint being explicitly added to authentication whitelist, bypassing TokenMiddleware validation.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete database corruption or takeover through malicious data injection, data loss via 'replace' mode overwriting existing tables, and potential privilege escalation if database credentials are compromised.

🟠

Likely Case

Data manipulation or corruption through unauthorized file uploads, disruption of SQLBot functionality, and potential data integrity issues affecting downstream applications.

🟢

If Mitigated

No impact if endpoint is properly authenticated or removed from whitelist, with normal file upload functionality preserved for authorized users.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Simple HTTP POST request with Excel/CSV file to vulnerable endpoint, no authentication required.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 1.5.0

Vendor Advisory: https://github.com/dataease/SQLBot/security/advisories/GHSA-crfm-cch4-hjpv

Restart Required: Yes

Instructions:

1. Backup current SQLBot configuration and data. 2. Stop SQLBot service. 3. Update to version 1.5.0 from GitHub releases. 4. Restart SQLBot service. 5. Verify endpoint now requires authentication.

🔧 Temporary Workarounds

Remove endpoint from whitelist

all

Manually modify authentication configuration to remove /api/v1/datasource/uploadExcel from authentication whitelist

Edit SQLBot configuration file to remove endpoint from auth_whitelist array

Network access control

linux

Restrict network access to SQLBot upload endpoint using firewall rules

iptables -A INPUT -p tcp --dport [SQLBot_PORT] -m string --string "/api/v1/datasource/uploadExcel" --algo bm -j DROP

🧯 If You Can't Patch

  • Implement network segmentation to restrict access to SQLBot instance
  • Deploy web application firewall with rules to block unauthenticated upload requests to vulnerable endpoint

🔍 How to Verify

Check if Vulnerable:

Attempt unauthenticated POST request to /api/v1/datasource/uploadExcel endpoint with test Excel file

Check Version:

Check SQLBot version in web interface or via API endpoint /api/v1/version

Verify Fix Applied:

Verify unauthenticated requests to /api/v1/datasource/uploadExcel return 401/403 error

📡 Detection & Monitoring

Log Indicators:

  • Unauthenticated POST requests to /api/v1/datasource/uploadExcel
  • Database errors from unexpected table replacements
  • Unusual file upload activity from unauthenticated IPs

Network Indicators:

  • HTTP POST requests to uploadExcel endpoint without authentication headers
  • Unusual traffic patterns to SQLBot upload endpoint

SIEM Query:

source="sqlbot.log" AND (uri="/api/v1/datasource/uploadExcel" AND NOT auth_token=*)

🔗 References

📤 Share & Export