CVE-2026-85055
Received Received - Intake

Information Disclosure in Twenty CRM

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

Publication date: 2026-09-22

Last updated on: 2026-09-22

Assigner: GitHub, Inc.

Description

Twenty is an open-source CRM (customer relationship management) platform. Prior to 2.22.0, field-level read permission is enforced on selected output fields but not on GraphQL or REST filter predicates. A workspace member or API key with permission to read an object but not a particular field can reference that denied field in direct filters, relation filters, or persisted view filters. The resulting totalCount and row presence reveal whether guesses match the real column, forming a boolean/count oracle that can reconstruct denied field values for records exposed by the principal's row-level policy. This issue is fixed in version 2.22.0.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

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

Affected Vendors & Products

Showing 3 associated CPEs
Vendor Product Version / Range
twentyhq twenty to 2.22.0 (exc)
twentyhq twenty 2.22.0
twenty twenty to 2.22.0 (exc)

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-200 The product exposes sensitive information to an actor that is not explicitly authorized to have access to that information.
CWE-285 The product does not perform or incorrectly performs an authorization check when an actor attempts to access a resource or perform an action.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability is an information leak in the Twenty CRM system where users without read access to certain fields could still infer their values through filtering queries. The issue allowed attackers to probe restricted field values by examining the totalCount results of filtered queries. For example, a non-admin user with read access to People records but no access to the Person jobTitle field could determine job titles by checking which filters returned a non-zero totalCount.

Detection Guidance

To detect this vulnerability, test if unauthorized users can infer restricted field values through GraphQL or REST API queries. Send filter queries targeting restricted fields and check if totalCount or row presence reveals information. For example, use GraphQL queries with filters on inaccessible fields and observe responses. If successful queries return non-zero counts or rows, the system may be vulnerable.

Impact Analysis

This vulnerability allows unauthorized users to reconstruct restricted field values by leveraging string operators in GraphQL and REST APIs. Attackers can infer sensitive data like job titles or other restricted fields by probing with filters, potentially exposing confidential information across all records accessible via row-level policies.

Compliance Impact

This vulnerability likely violates compliance requirements for data protection standards like GDPR and HIPAA, which mandate strict access controls and protection of sensitive personal data. The information leak defeats field-level confidentiality, potentially exposing unauthorized individuals to restricted data.

Mitigation Strategies

Upgrade to Twenty CRM version 2.22.0 or later to apply the fix. Ensure field-level read permissions are enforced on filter predicates, not just output fields. Review and update API and GraphQL query filters to block access to restricted fields. Monitor for unauthorized filter attempts and enforce permission checks.

Chat Assistant

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

EPSS Chart