Back to CVE records
High 8.7Published May 26, 2026

CVE-2026-44729Twenty: Stored Cross-Site Scripting via Unsanitized File Serving (Missing Content-Type/Content-Disposition Headers)

Updated under an hour ago ()

Does this affect you?

It affects twentyhq twenty and 1 other product. Add what you run to find out whether that includes you.

No exploitation reported and no EPSS estimate yet.

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.

CVSS
8.7 HIGH (v3.1, CNA)CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:N
Weakness (CWE)
CWE-79
Known exploited
Not in CISA's KEV catalog
EPSS (exploitation in the next 30 days)
Not loaded for this CVE
Assigned by
GitHub_M
NVD analysis
Analyzed
Record last updated
May 27, 2026
First seen by InfoSec Signals
Oct 9, 2026

Affected products

Affected products
twentyhq twenty
twentyhq:twenty (from the name)
through 1.18.0
CNA record
twenty twenty
twenty:twenty
through 1.18.0
NVD

References

  • x-refsource-confirm, exploit, mitigation, vendor-advisory

The CVE record is authoritative. Products marked “from the name” were identified from the CNA's free-text names, not a CPE, and are matched less certainly. This product uses the NVD API but is not endorsed or certified by the NVD.

Your cookie choices
We use essential cookies to run this site, and, only with your consent, an advertising cookie from Google to measure whether our ads lead to sign-ups and subscriptions. See our for details.