CVE-2026-32950

SQLBot is an intelligent data query system based on a large language model and RAG. Versions prior to 1.7.0 contain a critical SQL Injection vulnerability in the /api/v1/datasource/uploadExcel endpoint that enables Remote Code Execution (RCE), allowing any authenticated user (even the lowest-privileged) to fully compromise the backend server. The root cause is twofold: Excel Sheet names are concatenated directly into PostgreSQL table names without sanitization (datasource.py#L351), and those table names are embedded into COPY SQL statements via f-strings instead of parameterized queries (datasource.py#L385-L388). An attacker can bypass the 31-character Sheet name limit using a two-stage technique—first uploading a normal file whose data rows contain shell commands, then uploading an XML-tampered file whose Sheet name injects a TO PROGRAM 'sh' clause into the SQL. Confirmed impacts include arbitrary command execution as the postgres user (uid=999), sensitive file exfiltration (e.g., /etc/passwd, /etc/shadow), and complete PostgreSQL database takeover. This issue has been fixed in version 1.7.0.
Configurations

Configuration 1 (hide)

cpe:2.3:a:fit2cloud:sqlbot:*:*:*:*:*:*:*:*

History

23 Mar 2026, 18:04

Type Values Removed Values Added
References () https://github.com/dataease/SQLBot/commit/39f2203cec4bb4b0aa541710733fe7608e3d3c48 - () https://github.com/dataease/SQLBot/commit/39f2203cec4bb4b0aa541710733fe7608e3d3c48 - Patch
References () https://github.com/dataease/SQLBot/releases/tag/v1.7.0 - () https://github.com/dataease/SQLBot/releases/tag/v1.7.0 - Release Notes
References () https://github.com/dataease/SQLBot/security/advisories/GHSA-7hww-8rj5-7rmm - () https://github.com/dataease/SQLBot/security/advisories/GHSA-7hww-8rj5-7rmm - Exploit, Vendor Advisory
Summary
  • (es) SQLBot es un sistema inteligente de consulta de datos basado en un modelo de lenguaje grande y RAG. Las versiones anteriores a la 1.7.0 contienen una vulnerabilidad crítica de inyección SQL en el endpoint /api/v1/datasource/uploadExcel que permite la ejecución remota de código (RCE), lo que permite a cualquier usuario autenticado (incluso el de menor privilegio) comprometer completamente el servidor backend. La causa raíz es doble: los nombres de las hojas de Excel se concatenan directamente en los nombres de las tablas de PostgreSQL sin sanitización (datasource.py#L351), y esos nombres de tablas se incrustan en las sentencias SQL de COPY a través de f-strings en lugar de consultas parametrizadas (datasource.py#L385-L388). Un atacante puede eludir el límite de 31 caracteres para el nombre de la hoja utilizando una técnica de dos etapas: primero, subiendo un archivo normal cuyas filas de datos contengan comandos de shell, y luego, subiendo un archivo manipulado con XML cuyo nombre de hoja inyecte una cláusula TO PROGRAM 'sh' en el SQL. Los impactos confirmados incluyen la ejecución arbitraria de comandos como el usuario postgres (uid=999), la exfiltración de archivos sensibles (p. ej., /etc /passwd, /etc /shadow) y la toma de control completa de la base de datos de PostgreSQL. Este problema ha sido solucionado en la versión 1.7.0.
CPE cpe:2.3:a:fit2cloud:sqlbot:*:*:*:*:*:*:*:*
CVSS v2 : unknown
v3 : unknown
v2 : unknown
v3 : 8.8
First Time Fit2cloud sqlbot
Fit2cloud

20 Mar 2026, 05:16

Type Values Removed Values Added
New CVE

Information

Published : 2026-03-20 05:16

Updated : 2026-03-23 18:04


NVD link : CVE-2026-32950

Mitre link : CVE-2026-32950

CVE.ORG link : CVE-2026-32950


JSON object : View

Products Affected

fit2cloud

  • sqlbot
CWE
CWE-78

Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection')

CWE-89

Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')