Description
Budibase (@budibase/server) before 3.45.0 builds MySQL and MSSQL column-rename DDL in packages/backend-core/src/sql/sqlTable.ts by interpolating identifiers directly into a raw query string (backtick-quoted for MySQL, a single-quoted sp_rename literal for MSSQL) without applying the project's quoteMySqlIdentifier / quoteSqlServerIdentifier helpers. An attacker with DDL rights on a connected MySQL/MSSQL datasource can create a column whose name contains a backtick (MySQL) or single quote (MSSQL) plus additional SQL; Budibase's schema introspection stores the name verbatim, and when a Budibase builder later renames that column through the UI (POST /api/tables with _rename.old), the embedded quote character terminates the identifier and the injected SQL is executed. Because the MySQL connection is opened with multipleStatements: true, stacked statements run as Budibase's datasource user, allowing arbitrary reads, writes, or destructive operations on the connected database outside Budibase's row/table permission model. Fixed in 3.45.0.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| budibase | server | < 3.45.0 | 3.45.0 |
Advisories 1
- WID-SEC-2026-3286 Budibase: Mehrere Schwachstellen BSI CERT-Bund (WID) · Sep 27, 2026
References
- GitHub Security Advisory (GHSA-ppj8-hmx2-m546) vendor-advisory
- VulnCheck Advisory: Budibase before 3.45.0 SQL Injection via column-rename DDL third-party-advisory