CVE-2026-35451
Full vulnerability record from the local CVENow database.
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.
Severity
MEDIUM
CVSS score
5.7
(v3.1)
Vulnerability status
Deferred
Source identifier
Published
2026-04-21 17:16:53.087000
Last modified
2026-10-26 21:10:00.170000
View original CVE JSON
{
"id": "CVE-2026-35451",
"sourceIdentifier": "[email protected]",
"published": "2026-04-21T17:16:53.087",
"lastModified": "2026-10-26T21:10:00.170",
"vulnStatus": "Deferred",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "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."
},
{
"lang": "es",
"value": "Twenty es un CRM de código abierto. Antes de 1.20.6, existe una vulnerabilidad de cross-site scripting (XSS) almacenado en el componente editor BlockNote. Debido a una falta de validación de protocolo en el componente FileBlock y una inspección insuficiente del contenido del bloque por parte del servidor, un atacante puede inyectar una URI javascript_disabled: en la propiedad url de un bloque de archivo. Esto permite la ejecución de JavaScript arbitrario cuando un usuario hace clic en el archivo adjunto malicioso. Esta vulnerabilidad está corregida en 1.20.6."
}
],
"affected": [
{
"source": "[email protected]",
"affectedData": [
{
"vendor": "twentyhq",
"product": "twenty",
"versions": [
{
"version": "< 1.20.6",
"status": "affected"
}
]
}
]
}
],
"metrics": {
"cvssMetricV31": [
{
"source": "[email protected]",
"type": "Secondary",
"cvssData": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:N/A:N",
"baseScore": 5.7,
"baseSeverity": "MEDIUM",
"attackVector": "NETWORK",
"attackComplexity": "LOW",
"privilegesRequired": "LOW",
"userInteraction": "REQUIRED",
"scope": "UNCHANGED",
"confidentialityImpact": "HIGH",
"integrityImpact": "NONE",
"availabilityImpact": "NONE"
},
"exploitabilityScore": 2.1,
"impactScore": 3.6
}
],
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"timestamp": "2026-04-21T16:54:47.995335Z",
"id": "CVE-2026-35451",
"options": [
{
"exploitation": "poc"
},
{
"automatable": "no"
},
{
"technicalImpact": "partial"
}
],
"role": "CISA Coordinator",
"version": "2.0.3"
}
}
]
},
"weaknesses": [
{
"source": "[email protected]",
"type": "Secondary",
"description": [
{
"lang": "en",
"value": "CWE-79"
}
]
}
],
"references": [
{
"url": "https://github.com/twentyhq/twenty/commit/8da69e0f77ea820a6845a4c3c025b6af3861d523",
"source": "[email protected]"
},
{
"url": "https://github.com/twentyhq/twenty/security/advisories/GHSA-7w89-7q26-gj7q",
"source": "[email protected]"
},
{
"url": "https://github.com/twentyhq/twenty/security/advisories/GHSA-7w89-7q26-gj7q",
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0"
}
]
}