Description
Twenty before 2.35.0 fails to validate field and row permissions in the groupBy-with-records GraphQL resolver, allowing authenticated users to bypass permission checks. Attackers with canReadObjectRecords permission but canReadFieldValue false can retrieve restricted field values through the groupBy resolver that would normally be denied.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| twentyhq | twenty | < 2.35.0 | 2.35.0 |
References
- GitHub Issue #25911 issue-tracking
- https://github.com/twentyhq/twenty product
- getTargetEntityAndOperationType returns early on the subQuery flag, bypassing validation technical-description
- addPartitionByToQueryBuilder strips aliases to subquery-flagged ones technical-description
- VulnCheck Advisory: Twenty before 2.35.0 Permission Bypass via groupBy-with-records Query third-party-advisory