Medium severity · published Apr 21, 2026
CVE-2026-35451
Twenty: Stored XSS via BlockNote FileBlock
5.7
CVSS
0.3%
EPSS
No
On KEV
Description
Twenty is an open source CRM. Prior to 1.20.6, a Stored Cross-Site Scripting (XSS) vulnerability exists in the BlockNote editor component. Due to a lack of protocol validation in the FileBlock component and insufficient server-side inspection of block content, an attacker can inject a javascript: URI into the url property of a file block. This allows the execution of arbitrary JavaScript when a user clicks on the malicious file attachment. This vulnerability is fixed in 1.20.6.
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:N/A:N
Attack vector
Network
Complexity
Low
Privileges
Low
User interaction
Required
Confidentiality
High
Integrity
None
Availability
None
Scope
Unchanged
Exploitation
Is it being used?
Exploit prediction (EPSS)0.3% · higher than 24% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
TW
twenty · twentyhq
< 1.20.6 · source: vendor
References
NVD
https://nvd.nist.gov/vuln/detail/CVE-2026-35451
CVE.org
https://www.cve.org/CVERecord?id=CVE-2026-35451
github.com
https://github.com/twentyhq/twenty/commit/8da69e0f77ea820a6845a4c3c025b6af3861d523
github.com
https://github.com/twentyhq/twenty/security/advisories/GHSA-7w89-7q26-gj7q
More from twenty
9.9
CVE-2026-46624
Twenty: SQL Injection via the timeZone field
9.6
CVE-2026-105763
Twenty: Plaintext IMAP/SMTP/CalDAV password disclosure to any workspace member via /metadata GraphQL
9.1
CVE-2026-73069
Twenty: SQL Injection in the `searchVector` Field Settings Allows Arbitrary PostgreSQL Execution
8.7
CVE-2026-44729
Twenty: Stored Cross-Site Scripting via Unsanitized File Serving (Missing Content-Type/Content-Disposition Headers)
8.3
CVE-2026-33975
twenty-server SSRF protection bypass via IPv4-mapped IPv6 address normalization
