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/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. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →