Home

Description

Twenty is an open source CRM. In 1.18.0 and earlier, the file serving endpoints in Twenty CRM at /files/* and /file/:fileFolder/:id serve uploaded files using fileStream.pipe(res) without setting any Content-Type, Content-Disposition, or X-Content-Type-Options response headers. This allows an authenticated attacker to upload an HTML file containing JavaScript, which will be rendered by the victim's browser in the context of the Twenty CRM domain when accessed — enabling session hijacking, account takeover, and data theft.

PUBLISHED Reserved 2026-05-07 | Published 2026-05-26 | Updated 2026-05-27 | Assigner GitHub_M




HIGH: 8.7CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:N

Problem types

CWE-79: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Product status

<= 1.18.0
affected

References

github.com/...twenty/security/advisories/GHSA-f5h2-3qw5-3qp7 exploit

github.com/...twenty/security/advisories/GHSA-f5h2-3qw5-3qp7

cve.org (CVE-2026-44729)

nvd.nist.gov (CVE-2026-44729)

Download JSON