CVE-2026-47384
Description
NocoDB is software for building databases as spreadsheets. Prior to 2026.05.1, an authenticated user with column-create permission can inject SQL into the bulk groupBy endpoint by setting a column's title to a SQL fragment. The bulk groupBy path in group-by.ts builds three database-specific knex.raw() aggregations that interpolate the request's column_name directly into the SQL string. Column lookup in data-table.service.ts matches on both the sanitized column_name field and the free-text title, so a title containing a SQL fragment bypasses the public endpoint's existing column allowlist and reaches the query builder unescaped. This vulnerability is fixed in 2026.05.1.
Summary dbcve.org
SQL injection vulnerability in NocoDB's bulk groupBy endpoint allows authenticated users with column-create permission to inject arbitrary SQL by setting a column's title to a SQL fragment. The group-by.ts endpoint uses knex.raw() which directly interpolates the column_name into SQL strings, and the column lookup in data-table.service.ts matches on both the sanitized column_name and the free-text title field, enabling the allowlist bypass.
Mitigation
Upgrade to NocoDB version 2026.05.1 or later. If immediate upgrade is not possible, implement strict input validation on the title field to prevent SQL fragment injection and ensure column lookups do not rely on unsanitized free-text fields.