Skip to content
Heist/ feed
Back to feed
High

SQLBot uploadExcel Endpoint has Unauthenticated Arbitrary File Upload vulnerability

Type: advisorySources: OSV

SQLBot is an intelligent data query system based on a large language model and RAG. Versions prior to 1.5.0 contain a missing authentication vulnerability in the /api/v1/datasource/uploadExcel endpoint, allowing a remote unauthenticated attacker to upload arbitrary Excel/CSV files and inject data directly into the PostgreSQL database. The endpoint is explicitly added to the authentication whitelist, causing the TokenMiddleware to bypass all token validation. Uploaded files are parsed by pandas and inserted into the database via to_sql() with if_exists='replace' mode. The vulnerability has been fixed in v1.5.0. No known workarounds are available.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2025-69285
Confirmed fixed CVEs
Not specified
Updated in this feed
4 Nov 2026, 17:20 UTC · Revision 1

Source evidence

SQLBot uploadExcel Endpoint has Unauthenticated Arbitrary File Upload vulnerability

core-osv · Original source

Published 21 Jan 2026, 20:05 UTC

SQLBot is an intelligent data query system based on a large language model and RAG. Versions prior to 1.5.0 contain a missing authentication vulnerability in the /api/v1/datasource/uploadExcel endpoint, allowing a remote unauthenticated attacker to upload arbitrary Excel/CSV files and inject data directly into the PostgreSQL database. The endpoint is explicitly added to the authentication whitelist, causing the TokenMiddleware to bypass all token validation. Uploaded files are parsed by pandas and inserted into the database via to_sql() with if_exists='replace' mode. The vulnerability has been fixed in v1.5.0. No known workarounds are available.

osv:CVE-2025-69285
Complete source record
{
  "id": "c93f4b6b589155448961e5238d7a2a2cbf141b873a5a6da63c9f881e44007427",
  "url": "https://osv.dev/vulnerability/CVE-2025-69285",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "SQLBot uploadExcel Endpoint has Unauthenticated Arbitrary File Upload vulnerability",
    "summary": "SQLBot is an intelligent data query system based on a large language model and RAG. Versions prior to 1.5.0 contain a missing authentication vulnerability in the /api/v1/datasource/uploadExcel endpoint, allowing a remote unauthenticated attacker to upload arbitrary Excel/CSV files and inject data directly into the PostgreSQL database. The endpoint is explicitly added to the authentication whitelist, causing the TokenMiddleware to bypass all token validation. Uploaded files are parsed by pandas and inserted into the database via to_sql() with if_exists='replace' mode. The vulnerability has been fixed in v1.5.0. No known workarounds are available.",
    "evidence": "osv:CVE-2025-69285",
    "products": [],
    "severity": "high",
    "structured": {
      "id": "CVE-2025-69285",
      "aliases": [
        "CVE-2025-69285",
        "GHSA-crfm-cch4-hjpv"
      ],
      "metrics": [
        {
          "type": "CVSS_V4",
          "score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N/E:P"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/dataease/sqlbot",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "9f891345788465b9593ac6a01af163a26fe0b509"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "1.5.0"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "fixed": "9f891345788465b9593ac6a01af163a26fe0b509"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "v1.5.0"
                  },
                  {
                    "cpe": "cpe:2.3:a:fit2cloud:sqlbot:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "1.5.0"
                      }
                    ],
                    "source": "CPE_RANGE"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v1.4.0",
            "v1.3.0",
            "v1.2.1",
            "v1.2.0",
            "v1.1.4",
            "v1.1.3",
            "v1.1.2",
            "v1.1.0",
            "v1.0.0"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2025-69285.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:37.757760636Z",
      "provider": "osv",
      "references": [
        "https://github.com/dataease/SQLBot/releases/tag/v1.5.0",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/69xxx/CVE-2025-69285.json",
        "https://github.com/dataease/SQLBot/security/advisories/GHSA-crfm-cch4-hjpv",
        "https://nvd.nist.gov/vuln/detail/CVE-2025-69285"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-306"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/69xxx/CVE-2025-69285.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2025-69285",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 505205,
  "published_at": "2026-01-21T20:05:22.108+00:00"
}