CVE-2026-100683: Budibase before 3.45.0 SQL Injection via column-rename DDL

Published Sep 26, 2026
·
Updated

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 sprename 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 Software

1 affected component
npm/@budibase/server<3.45.0

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade @budibase/server to a version that resolves this vulnerability.

    Fixed in 3.45.0

Event History

Sep 26, 2026
CVE Published
via MITRE·01:23 PM
Data Sourced
via MITRE·01:23 PM
DescriptionSeverityWeakness

Frequently Asked Questions

1

Who is realistically exposed to this issue?

Budibase deployments before 3.45.0 are exposed when they use a connected MySQL or MSSQL datasource and an attacker has DDL rights on that datasource. Exploitation also requires a Budibase builder to rename the attacker-created column through the UI.

2

What access and interaction are required to exploit it?

The attacker must be able to create a column with a crafted name containing a backtick on MySQL or a single quote on MSSQL. A builder must then submit a column rename through POST /api/tables using _rename.old, causing Budibase to build and execute the unsafe DDL.

3

What is the impact if exploitation succeeds?

Injected SQL executes using Budibase's datasource database user. For MySQL, stacked statements can run because the connection enables multipleStatements, allowing arbitrary reads, writes, or destructive database operations outside Budibase's row and table permission model.

4

How can administrators mitigate the issue if they cannot upgrade immediately?

Remove or tightly restrict DDL privileges for untrusted users on connected MySQL and MSSQL datasources. Avoid renaming columns through the Budibase UI when datasource schemas may contain attacker-controlled column names.

5

How can I identify a potentially affected deployment?

Check whether @budibase/server is earlier than 3.45.0 and whether it connects to MySQL or MSSQL. Review datasource schemas for column names containing backticks on MySQL or single quotes on MSSQL, especially where those names could have been created by users with DDL access.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203