# CVE-2026-73069: Twenty CRM SQL injection in search vector field configuration

Source: https://junglewise.ai/threats/cve-2026-73069-twenty-crm-sql-injection-in-search-vector-field-configuration  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-08-11. Updated: 2026-09-25  
License: CC BY 4.0 with a link back

CVE-2026-73069 · Severity: critical · CVSS 9.1 · Published 2026-08-11

Twenty is an open-source customer relationship management (CRM) platform used by organizations to manage sales pipelines and customer data. Workspace administrators with data modeling permissions can inject arbitrary PostgreSQL commands through improperly validated field settings, allowing them to execute database queries with application-level privileges and potentially access, modify, or delete customer records and business data.

Technologies: [Twenty](https://junglewise.ai/threats/technologies/twenty). Vendors: [Twenty](https://junglewise.ai/threats/vendors/twenty).

## Quick answers

**Is CVE-2026-73069 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-73069 being exploited in the wild.

**How severe is CVE-2026-73069?** Critical severity, with a CVSS score of 9.1, published 11 August 2026.

**Which products and versions are affected?** Twenty prior to 2.15.0.

**Is there a fix for CVE-2026-73069?** A patch was published on 2026-06-22: Fix released in version 2.15.0 Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-73069 attacked?** It is attacked over the network.

**Am I affected by CVE-2026-73069?** Check whether you run Twenty at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## Technical details

This is a SQL injection vulnerability in the search vector field configuration mechanism. The vulnerable code path exists in buildSqlColumnDefinition within the workspace schema manager, where user-supplied settings.asExpression values for the TS_VECTOR searchVector field are concatenated directly into SQL GENERATED ALWAYS AS clauses without proper escaping or validation. An authenticated workspace administrator with the DATA_MODEL permission can exploit this by sending a PATCH request to /rest/metadata/fields/:id or using the updateOneField GraphQL mutation to supply malicious PostgreSQL expressions. The application executes these unescaped inputs as the database user, allowing arbitrary SQL statement execution. The vulnerability was patched in version 2.15.0 by implementing proper input validation for search vector field expressions.

## Affected products

- Twenty Twenty prior to 2.15.0

## Timeline

- 2026-08-11: disclosed
- 2026-06-22: patched: Fix released in version 2.15.0

## References

- [https://github.com/twentyhq/twenty/commit/0b8368cd6c1a47711bf52972800f162bde0bbab9](https://github.com/twentyhq/twenty/commit/0b8368cd6c1a47711bf52972800f162bde0bbab9)
- [https://github.com/twentyhq/twenty/pull/21947](https://github.com/twentyhq/twenty/pull/21947)

## Related threats

- [Twenty CRM credential disclosure in GraphQL metadata query](https://junglewise.ai/threats/cve-2026-105763-twenty-is-an-open-source-crm-customer-relationship-management)
- [Twenty CRM field-level permission bypass in filters](https://junglewise.ai/threats/cve-2026-85055-twenty-is-an-open-source-crm-customer-relationship-management)
- [Twenty GraphQL permission bypass in groupBy-with-records resolver](https://junglewise.ai/threats/cve-2026-92771-twenty-graphql-permission-bypass-in-groupby-with-records-resolver)
- [Twenty open redirect in OAuth callback handler](https://junglewise.ai/threats/cve-2026-82274-twenty-open-redirect-in-oauth-callback-handler)
- [Twenty CRM IDOR in AI Agent Monitor](https://junglewise.ai/threats/cve-2026-55583-twenty-crm-idor-in-ai-agent-monitor)
