Directus is Vulnerable to Stored Cross-site Scripting
Summary
A stored cross-site scripting (XSS) vulnerability exists that allows users with upload files and edit item permissions to inject malicious JavaScript through the Block Editor interface. Attackers can bypass Content Security Policy (CSP) restrictions by combining file uploads with iframe srcdoc attributes, resulting in persistent XSS execution.
Details
The vulnerability arises from insufficient sanitization in the Block Editor interface when processing JSON content containing HTML elements. The attack requires two permissions:
upload files- To upload malicious JavaScript filesedit item- To create or modify content with the Block Editor
Attack Vector:
-
JavaScript File Upload: Attackers upload a malicious JavaScript file via the files endpoint, obtaining a file ID accessible through the assets directory
-
Block Editor Exploitation: Using a JSON field with Block Editor interface, attackers inject raw HTML containing an iframe with srcdoc attribute that references the uploaded file
-
CSP Bypass: The iframe srcdoc technique circumvents existing CSP protections by creating a new document context that loads the uploaded script
The payload is injected through direct API manipulation (PATCH request) to bypass client-side validation, targeting the Block Editor's paragraph data structure within the JSON content field.
Impact
This vulnerability enables:
- Persistent XSS - Malicious scripts execute whenever affected content is viewed
- Session hijacking - Access to authentication tokens and cookies of users viewing the content
- Administrative compromise - If administrators view infected content, their elevated privileges can be exploited
- CSP bypass - Demonstrates ineffective security controls, potentially affecting other protections
- Data exfiltration - Ability to steal sensitive information displayed in the application
- Phishing attacks - Injection of convincing fake login forms or malicious redirects
Software afectado
Haz clic en una tecnología para ver todas sus vulnerabilidades.
| Plataforma | Paquete | Versiones vulnerables | Corregida en |
|---|---|---|---|
| Paquete de npm | directus | < 11.13.0 | 11.13.0 |
Referencias
- Vector CVSS
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:L/A:L- Debilidad (CWE)
CWE-20, CWE-79- Plataforma
- npm
- Paquete
directus- Publicada
- 14.11.2025
- Actualizado
- 11.10.2026 10:22
Fuentes y licencias
OSV / GitHub Advisory Database - GHSA-vv2v-pw69-8crf - CC BY 4.0
Historial de vulnerabilidades: directus
Todas las vulnerabilidades publicadas de este paquete (Paquete de npm), de la más reciente a la más antigua. Muestra si es un fallo aislado o un paquete que hay que vigilar.
- Entradas en total
- 58
- Primera → última
- 04.2022 07.2026
- Sin corrección
- 0
- Explotada en ataques
- 0
Distribución por gravedad
- Crítica 2
- Alta 19
- Media 34
- Baja 3
Divulgaciones por año
- 2022: 4
- 2023: 8
- 2024: 14
- 2025: 17
- 2026: 15
-
Directus is Vulnerable to Stored Cross-site Scripting esta entrada
Identifica las vulnerabilidades de tu aplicación
Con la integración de DockRay y el inventario de software activado, DockRay compara las versiones notificadas de los componentes con las vulnerabilidades conocidas y avisa de las coincidencias confirmadas. La cobertura depende de la tecnología compatible y de los avisos disponibles.