CVE-2026-73069
Received Received - Intake

SQL Injection in Twenty CRM via TS_VECTOR Field

Vulnerability report for CVE-2026-73069, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-08-11

Last updated on: 2026-08-11

Assigner: GitHub, Inc.

Description

Twenty is an open-source CRM (customer relationship management) platform. Prior to 2.15.0, Twenty allowed a workspace administrator with the DATA_MODEL permission to supply settings.asExpression for the system TS_VECTOR field searchVector through PATCH /rest/metadata/fields/:id or the updateOneField GraphQL mutation, causing buildSqlColumnDefinition in packages/twenty-server/src/engine/twenty-orm/workspace-schema-manager/utils/build-sql-column-definition.util.ts to concatenate unescaped input into GENERATED ALWAYS AS (...) and execute arbitrary PostgreSQL statements as the application database user. This issue is fixed in version 2.15.0.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-08-11
Last Modified
2026-08-11
Generated
2026-08-11
AI Q&A
2026-08-11
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
twentyhq twenty to 2.15.0 (exc)

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-89 The product constructs all or part of an SQL command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended SQL command when it is sent to a downstream component. Without sufficient removal or quoting of SQL syntax in user-controllable inputs, the generated SQL query can cause those inputs to be interpreted as SQL instead of ordinary user data.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This is a SQL injection vulnerability in the Twenty CRM platform (versions before 2.15.0). A workspace administrator with DATA_MODEL permission can inject arbitrary PostgreSQL statements by supplying unsafe settings.asExpression for the searchVector field. The application concatenates this input directly into a generated column definition without proper escaping, allowing execution of malicious SQL commands as the database user.

Detection Guidance

To detect this vulnerability, check if your Twenty CRM version is below 2.15.0. Use commands like 'npm list twenty' or inspect the package.json file. Also review PostgreSQL logs for unusual queries or errors related to searchVector field updates.

Impact Analysis

An attacker could exploit this to execute arbitrary PostgreSQL commands, potentially accessing or modifying data across workspaces, causing denial-of-service, or even achieving remote code execution in self-hosted environments. The impact includes data breaches, system compromise, and service disruption. Exploitation requires high privileges but no user interaction.

Compliance Impact

This vulnerability likely violates compliance requirements for data protection and security controls in GDPR and HIPAA. It enables unauthorized data access and modification, which could lead to breaches of confidentiality and integrity. Organizations using vulnerable versions may face regulatory penalties and must remediate immediately to maintain compliance.

Mitigation Strategies
  • Upgrade Twenty CRM to version 2.15.0 or later immediately to patch the vulnerability.
  • Restrict DATA_MODEL permissions to only trusted workspace administrators.
  • Use a non-superuser PostgreSQL role for the application database to limit potential damage from SQL injection.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-73069. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart