High, CVSS 8.5npmAmendedPublished
NocoBase Has SQL Injection via template variable substitution in workflow SQL node
CVE-2026-34825 · GHSA-vx58-fwwq-5g8j
- Affected
- npm @nocobase/plugin-workflow-sql <= 2.0.29
- Fixed in
- 2.0.30· Vendor fix available
- Issue
- NocoBase <= 2.0.8 plugin-workflow-sql substitutes template variables directly into raw SQL strings via getParsedValue() without parameterization or escaping. Any user who triggers a workflow containing a SQL node with template variables from user-controlled data can inject arbitrary SQL. Affected Versions - Affected: all versions through 2.0.8 Details The SQLInstruction in packages/plugins/@nocobase/plugin-workflow-sql/src/server/SQLInstruction.ts line 28 processes SQL templates: Then executes the resulting string directly: getParsedValue() performs simple string substitution of {{$context.data.fieldName}} placeholders with values from the workflow trigger data. No escaping, quoting, or parameterized binding is applied. When an admin creates a SQL node with a template like: Any user who triggers the workflow with a crafted value can break out of the string literal and inject arbitrary SQL. Proof of Concept 1. Login as admin 2. Create a collection-trigger workflow on the users…
Recommended action: Upgrade to 2.0.30 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.