Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
cve-2026-33067 — Plantilla de Nuclei para detectar CVE-2026-33017, una vulnerabilidad de ejecución remota de código no autenticada en Langflow ≤ 1.8.2. Realiza verificaciones previas no destructivas para distinguir versiones vulnerables de las parcheadas mediante análisis de respuestas HTTP. | Kitploit
Herramientas/GitHubGitHub/lopseg/cve-2026-33067
ReconocimientoEscáneres de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónRed Teaming
GitHublopseg/cve-2026-33067

cve-2026-33067

Plantilla de Nuclei para detectar CVE-2026-33017, una vulnerabilidad de ejecución remota de código no autenticada en Langflow ≤ 1.8.2. Realiza verificaciones previas no destructivas para distinguir versiones vulnerables de las parcheadas mediante análisis de respuestas HTTP.

Ver Repositorio
2hace 4 mesesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

CVE-2026-33017 — Plantilla Nuclei para RCE sin autenticación en Langflow

Severity CVSS CWE

Plantilla Nuclei que detecta CVE-2026-33017 — una vulnerabilidad de ejecución remota de código sin autenticación en Langflow ≤ 1.8.2 accesible a través del endpoint público de construcción de flujos:

root@kitploit:~
POST /api/v1/build_public_tmp/{flow_id}/flow

El manejador vulnerable acepta un grafo de flujo data controlado por el atacante y pasa data.nodes[].data.node.template.code.value directamente a exec() de Python durante la construcción del grafo, sin ningún tipo de sandboxing. La corrección (≥ 1.9.0) elimina el parámetro data de la firma del manejador, por lo que una versión parcheada rechaza la misma solicitud en la capa de validación de FastAPI con HTTP 422.


Cómo decide la plantilla

La plantilla es no destructiva. Envía una carga inerte contra un ID de flujo zero-UUID, por lo que no puede alcanzar exec() incluso en un host vulnerable. Distingue el manejador vulnerable del parcheado únicamente por la firma de la respuesta HTTP.

EtapaSolicitudLo que indica
1

Enrutamiento para la etapa 2:

Una confirmación real de RCE aún requiere (a) un UUID de flujo PÚBLICO real en el objetivo y (b) una retrollamada fuera de banda (DNS/HTTP). Ese paso no se incluye aquí a propósito — esta plantilla es la verificación previa segura que decide si tiene sentido ejecutar un exploit activo.


Uso

Host individual:

root@kitploit:~
nuclei -t CVE-2026-33017.yaml -u https://target.example.com

Escaneo masivo desde una lista:

root@kitploit:~
nuclei -t CVE-2026-33017.yaml -l targets.txt -rl 20 -c 10

Con salida de depuración (ver las solicitudes/respuestas sin procesar):

root@kitploit:~
nuclei -t CVE-2026-33017.yaml -u https://target.example.com -debug-req -debug-resp

Validar la plantilla localmente antes de ejecutarla:

root@kitploit:~
nuclei -validate -t CVE-2026-33017.yaml

Ejemplo de salida

Objetivo vulnerable:

root@kitploit:~
[CVE-2026-33017] [http] [critical] https://target.example.com [vulnerable-flow-not-found] ["1.8.2","base"]

Objetivo parcheado — no se emite ningún hallazgo (la respuesta 422 no coincide con ninguna regla).


Encontrar candidatos

Consultas comunes de descubrimiento para hosts de Langflow (úsalas solo contra activos que estás autorizado a probar):

  • Shodan: http.title:"Langflow"
  • FOFA: app="Langflow"
  • Google: intitle:"Langflow" inurl:"/flows"

Detalles de la vulnerabilidad

  • CVE: CVE-2026-33017
  • CWE: CWE-94 (Control inadecuado de la generación de código)
  • CVSS 3.1: 9.3 — AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
  • Afectado: Langflow ≤ 1.8.2
  • Corregido en: Langflow ≥ 1.9.0
  • Vector: Red, sin autenticación, sin interacción del usuario
  • Impacto: Ejecución remota de código como el usuario del proceso Langflow

Causa raíz (resumida)

En las versiones vulnerables, el manejador público se declara aproximadamente como:

root@kitploit:~
@router.post("/build_public_tmp/{flow_id}/flow")
async def build_public_flow(flow_id: UUID, data: FlowDataRequest | None = None, ...):
    ...
    await verify_public_flow_and_get_user(flow_id, ...)
    ...
    # data.nodes[].data.node.template.code.value reaches exec() in the
    # Component build path

data está controlado por el atacante. El manejador parcheado elimina el parámetro por completo y fuerza data=None, por lo que una solicitud que incluya un campo data en el cuerpo es rechazada con 422 en las versiones parcheadas.


Remediación

  1. Actualizar Langflow a ≥ 1.9.0.
  2. Si no puedes actualizar de inmediato, bloquea /api/v1/build_public_tmp/ en el proxy inverso.
  3. Establece LANGFLOW_AUTO_LOGIN=False, configura las credenciales de superusuario y rota LANGFLOW_SECRET_KEY.
  4. Audita los flujos existentes — los flujos access_type=PUBLIC son los que un atacante apuntaría en la URL.

Referencias

  • Aviso de GitHub: https://github.com/advisories/GHSA-vwmf-pq79-vjvx
  • Artículo de SonicWall: https://www.sonicwall.com/pt-br/blog/langflow-ai-code-injection-to-rce-flaw
  • Código fuente del manejador parcheado: https://github.com/langflow-ai/langflow/blob/main/src/backend/base/langflow/api/v1/chat.py

Legal y divulgación

Esta plantilla se publica con fines de seguridad defensiva y pruebas autorizadas únicamente. Ejecutarla contra sistemas que no posees o para los que no tienes permiso explícito por escrito es ilegal en la mayoría de las jurisdicciones y viola los términos de servicio de la plataforma.

Al usar esta plantilla aceptas que:

  • Solo escanearás activos que posees o que estás explícitamente autorizado a probar (alcance de bug bounty, engagement de pentest firmado, inventario de activos interno).
  • El autor no es responsable del mal uso.
  • La plantilla se proporciona tal cual, sin garantía.

Autor

lopseg — https://github.com/lopseg

Las solicitudes de extracción (pull requests) y los problemas (issues) son bienvenidos.

Licencia

MIT

Descargar herramienta
GET /api/v1/version
Confirma que el objetivo es Langflow y extrae la versión de compilación.
2POST /api/v1/build_public_tmp/00000000-0000-0000-0000-000000000000/flow con un cuerpo que contiene el campo data y un template.code.value inerteDecisión de enrutamiento a continuación.
EstadoCuerpo contieneVeredicto
404flow / publicVULNERABLE — el manejador aceptó data, la búsqueda falló porque el UUID es falso.
200job_id / build / taskVULNERABLE — el manejador aceptó data y entró en la ruta de construcción.
5xxexec / Component / tracebackVULNERABLE — el manejador alcanzó la ruta de código exec antes de fallar.
422Field required / extra / dataPARCHEADO — la firma del manejador ya no acepta data.