CVE-2026-41640: @nocobase/database has SQL Injection via String Concatenation through Recursive Eager Loading
(updated )
The queryParentSQL() function in the core database package constructs a recursive CTE query by joining nodeIds with string concatenation instead of using parameterized queries. The nodeIds array contains primary key values read from database rows. An attacker who can create a record with a malicious string primary key can inject arbitrary SQL when any subsequent request triggers recursive eager loading on that collection.
Affected component: @nocobase/database (core)
Affected versions: <= 2.0.32 (confirmed)
Minimum privilege: Any user with record-creation permission on a tree collection with string-type primary keys
References
- github.com/advisories/GHSA-4948-f92q-f432
- github.com/nocobase/nocobase
- github.com/nocobase/nocobase/commit/202e2b8efe44ba90adbf1087f6f70881ff947604
- github.com/nocobase/nocobase/pull/9133
- github.com/nocobase/nocobase/releases/tag/v2.0.39
- github.com/nocobase/nocobase/security/advisories/GHSA-4948-f92q-f432
- nvd.nist.gov/vuln/detail/CVE-2026-41640
Code Behaviors & Features
Detect and mitigate CVE-2026-41640 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →