
Autocomprobación defensiva de objetivo único para la exposición de Langflow CVE-2025-3248
Ejecútalo únicamente contra servidores que poseas o que estés autorizado a probar.
Alcance: un resultado positivo solo significa que esta comprobación limitada encontró un desafío de autenticación y una versión de Langflow igual o superior al umbral parcheado para CVE-2025-3248. No es un veredicto general de seguridad, reputación, configuración o compromiso.
Una pequeña autocomprobación defensiva para la exposición de Langflow asociada con CVE-2025-3248. Proporciona a EXPOSECHECK una URL base —tu propio servidor o localhost— y reporta:
/api/v1/validate/code desafía una solicitud no autenticada;1.3.0; yEsto no es un exploit ni un escáner masivo. Acepta un solo objetivo, no envía código ejecutable y no realiza descubrimiento a nivel de internet. La sonda al endpoint de validación envía únicamente un objeto JSON vacío ({}).
Sysdig Threat Research documentó JADEPUFFER, que sus investigadores consideran el primer ataque de ransomware ejecutado de principio a fin por un agente de IA. El acceso inicial se vinculó a la conocida vulnerabilidad parcheada de Langflow CVE-2025-3248: instancias expuestas antiguas permitían acceso no autenticado a un endpoint de validación de código.
Langflow es un framework legítimo de código abierto para aplicaciones de IA. El riesgo es una implementación expuesta y sin parchear, no Langflow en sí. Langflow 1.3.0+ contiene la corrección correspondiente y requiere autenticación en el endpoint.
Requiere Node.js 18+; no hay paquetes que instalar.
node check.js http://localhost:7860
También puedes imprimir una salida legible por máquina:
node check.js http://localhost:7860 --json
Los códigos de salida son útiles en scripts locales:
0 — PARCHEADO PARA CVE-2025-32481 — EXPUESTO2 — NECESITA ATENCIÓN, entrada inválida o comprobación no concluyentePARCHEADO PARA CVE-2025-3248 requiere tanto un desafío de autenticación 401/403 como una versión detectada de 1.3.0 o superior. No significa que el servidor sea seguro en general. Un endpoint que llega a la validación de solicitud sin un desafío de autenticación es EXPUESTO. Las respuestas faltantes, redirigidas, bloqueadas o ambiguas se reportan intencionadamente como NECESITA ATENCIÓN, no se asumen seguras.
Abre index.html directamente, o sirve el directorio localmente:
python3 -m http.server 8080
Luego visita http://localhost:8080.
Los navegadores aplican reglas CORS y de contenido mixto. Un servidor de origen cruzado puede estar sano pero aún así impedir que la página lea su respuesta. Esto produce un resultado no concluyente; usa la CLI para la comprobación fiable.
Ejecuta el conjunto de pruebas de regresión incorporado con Node.js 18+:
node --test test.js
El conjunto fija el vocabulario de resultados públicos para que el estado parcheado en el ámbito de CVE no pueda retroceder silenciosamente a una afirmación general de seguro o estás bien.
Las demos son deterministas y no contactan con un servidor externo.
CLI:
node check.js --demo exposed
node check.js --demo patched
Navegador: usa Demo: expuesto y Demo: parcheado sobre el panel de veredicto. La página carga la demo expuesta por defecto, lo que hace que la grabación de pantalla sea fiable sin apuntar la herramienta a un objetivo en vivo.
| Comprobación | Señal defensiva observada | Señal de atención |
|---|---|---|
| Accesibilidad | Cualquier respuesta HTTP confirma que el host está activo | Tiempo de espera agotado o fallo de conexión es no concluyente |
| Autenticación del endpoint | 401 o 403 para una solicitud vacía no autenticada | 2xx, 400 o 422 significa que no ocurrió un desafío de autenticación antes de que la solicitud fuera aceptada/validada |
| Versión | Langflow 1.3.0+ | <1.3.0 es vulnerable; versiones desconocidas necesitan verificación manual |
| Pista de red | URL local/privada | IP/dominio público es informativo y debería impulsar una revisión de exposición |
La pista de red solo inspecciona la URL introducida. No resuelve DNS ni demuestra que un host sea accesible desde internet.
El estilo verde se limita al predicado mostrado únicamente. En particular, PARCHEADO PARA CVE-2025-3248 no significa SEGURO.
Actualiza Langflow a 1.3.0+, ponlo detrás de autenticación y sácalo de internet público.
La defensa en profundidad sigue siendo importante: restringe el tráfico entrante, evita colocar herramientas de desarrollo directamente en internet público, rota credenciales si se sospecha exposición y revisa los registros del servidor. Si esta herramienta reporta una versión antigua detrás de autenticación, devuelve NECESITA ATENCIÓN porque el software aún debe parchearse.
MIT. Ver LICENSE.