Problema de seguridad

Riesgo de CSRF en webhook en n8n

Por qué los webhooks GET que realizan acciones son vulnerables a cross-site request forgery

¿Qué es este problema?

Los ataques Cross-Site Request Forgery (CSRF) pueden engañar a los usuarios para que activen tu webhook sin saberlo. Los webhooks GET que realizan operaciones de escritura (actualizaciones de base de datos, envío de emails, llamadas a APIs externas) son especialmente vulnerables ya que las solicitudes GET pueden activarse con simples enlaces o imágenes.

Patrones vulnerables:

  • Webhook GET que actualiza registros de base de datos
  • Webhook GET que envía emails o notificaciones
  • Webhook GET que elimina o modifica datos
  • Webhook GET sin ninguna autenticación

¿Por qué es peligroso?

Acciones no autorizadas

Los atacantes pueden colocar enlaces en cualquier sitio web que activen tu workflow cuando los usuarios hacen clic.

Manipulación de datos

Los atacantes pueden modificar datos engañando a usuarios autenticados para que visiten páginas maliciosas.

Suplantación de usuario

Las acciones se realizan en el contexto de la sesión/identidad del usuario víctima.

Atribución difícil

Los ataques parecen acciones legítimas de usuario, dificultando el análisis forense.

Cómo solucionarlo

  1. 1

    Usar POST para cambios de estado

    Cambia los webhooks que realizan operaciones de escritura para usar método POST en lugar de GET.

  2. 2

    Agregar autenticación

    Requiere Basic Auth, Header Auth o validación de token en todos los webhooks.

  3. 3

    Validar origen

    Verifica el header Origin o Referer para asegurar que las solicitudes vengan de fuentes esperadas.

  4. 4

    Usar tokens CSRF

    Para formularios, incluye un token único que debe estar presente en el cuerpo de la solicitud.

Escanea tu workflow ahora

Sube tu archivo JSON de n8n y detecta webhooks GET que realizan operaciones de escritura.

Buscar vulnerabilidades de seguridad

Recursos relacionados

Problemas de seguridad relacionados