Investigador destaca código vulnerable de Microsoft que permite acceso no autorizado a archivos en tu PC

Investigador destaca código vulnerable de Microsoft que permite acceso no autorizado a archivos en tu PC

NLWeb de Microsoft: una descripción general

En mayo de 2023, durante la conferencia Build 2025, Microsoft presentó una iniciativa innovadora conocida como NLWeb, que significa “Web en lenguaje natural”.Este proyecto tenía como objetivo facilitar interacciones inteligentes entre agentes de IA y sitios web, permitiéndoles realizar tareas complejas al interactuar directamente con servicios en línea.

Implicaciones de NLWeb

Entre las empresas involucradas, Shopify y TripAdvisor han expresado su apoyo a este concepto, posicionando a NLWeb como un componente clave en lo que Microsoft llama la “web agentic”.Esta visión promete un futuro donde la IA puede ejecutar de forma autónoma una variedad de tareas en línea, agilizando significativamente las experiencias de los usuarios.

Descubrimiento de vulnerabilidades de seguridad

Sin embargo, han surgido importantes preocupaciones en torno a la seguridad del framework NLWeb. Aonan Guan, investigador de seguridad, junto con su colaborador Lei Wang, identificaron una vulnerabilidad de cruce de rutas en el repositorio de código del proyecto de código abierto. Su descubrimiento se originó tras examinar el repositorio de GitHub de NLWeb, en particular un archivo llamado. webserver/static_file_handler.py

Análisis técnico de la vulnerabilidad

La falla identificada se encuentra en un segmento específico de código:

# The vulnerable code snippet safe_path = os.path.normpath(path.lstrip('/'))

posibles_raíces = [ APP_ROOT, os.path.join(APP_ROOT, ‘sitio’, ‘wwwroot’), ‘/inicio/sitio/wwwroot’, os.environ.get(‘INICIO’, »), ]

# Más adelante en el código…full_path = os.path.join(root, safe_path)

La primera línea de este fragmento parece inofensiva; está diseñada para normalizar las rutas eliminando separadores innecesarios y referencias de nivel superior, un proceso documentado en la documentación oficial de Python. os.path.normpath()

Impacto de la vulnerabilidad

Si bien esta función es beneficiosa, introduce una vulnerabilidad de seguridad. Según Guan, no impide que los usuarios utilicen técnicas de navegación de directorios, como secuencias, para navegar más allá del directorio web previsto. ../

Para validar el problema, Guan configuró un servidor local en [nombre del servidor].Al ejecutar el comando [nombre del servidor], recuperó correctamente el contenido de [nombre del servidor], información vital sobre sistemas UNIX que contiene los detalles de las cuentas de usuario. 0.0.0.0:8000 curl "http://localhost:8000/static/..%2f..%2f..%2fetc/passwd" /etc/passwd

Imagen: Aonan Guan

Además, Guan pudo acceder a otros archivos confidenciales, incluido el archivo del proyecto, que siempre debe mantenerse confidencial debido a que contiene credenciales confidenciales, como claves API. Esto se demostró aún más al ejecutar el comando. .env curl "http://localhost:8000/static/..%2f..%2f..%2fUsers//NLWeb/code/.env"

Respuesta y recomendaciones de Microsoft

Tras los hallazgos de Guan, informados el 28 de mayo, Microsoft reconoció el problema ese mismo día e implementó una solución en 48 horas. La solución implicó varias medidas críticas:

  • Filtrado inicial para cualquier instancia de en la ruta para contrarrestar posibles intentos de atravesar el directorio. ..
  • Verificación de que el archivo solicitado tenga una extensión aceptable, incluidos formatos como.html, .css y.json.
  • Resolución de la ruta absoluta para confirmar que reside dentro de un directorio raíz autorizado, evitando así cualquier acceso no autorizado.

Ante este incidente, Guan enfatiza la importancia de actualizar inmediatamente cualquier instancia de NLWeb. Destaca que, a medida que se expande el concepto de la web agéntica, se exponen nuevas vulnerabilidades, en particular porque el procesamiento del lenguaje natural puede interpretar inadvertidamente rutas de archivos o comandos maliciosos si no se gestiona con el máximo escrutinio.

Puede encontrar más información sobre este problema y el informe de vulnerabilidad completo en Neowin.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *