spot_img

SGLang CVE-2026-5760 (CVSS 9.8) habilita RCE a través de archivos de modelo GGUF maliciosos

Se ha revelado una vulnerabilidad de seguridad crítica en SGLang que, si se explota con éxito, podría dar lugar a la ejecución remota de código en sistemas susceptibles.

La vulnerabilidad, rastreada como CVE-2026-5760tiene una puntuación CVSS de 9,8 sobre 10,0. Se ha descrito como un caso de inyección de comandos que conduce a la ejecución de código arbitrario.

SGLang es un marco de servicio de código abierto y alto rendimiento para modelos de lenguaje grandes y modelos multimodales. El proyecto oficial de GitHub se ha bifurcado más de 5.500 veces y ha sido destacado 26.100 veces.

Según el Centro de Coordinación CERT (CERT/CC), la vulnerabilidad afecta el punto final de reclasificación «/v1/rerank», lo que permite a un atacante lograr la ejecución de código arbitrario en el contexto del servicio SGLang mediante un archivo modelo de formato unificado generado por GPT (GGUF) especialmente diseñado.

«Un atacante explota esta vulnerabilidad creando un archivo de modelo de formato unificado generado por GPT (GGUF) malicioso con un parámetro tokenizer.chat_template diseñado que contiene una carga útil de inyección de plantilla del lado del servidor (SSTI) Jinja2 con una frase de activación para activar la ruta del código vulnerable», dijo CERT/CC en un aviso publicado hoy.

«Luego, la víctima descarga y carga el modelo en SGLang, y cuando una solicitud llega al punto final «/v1/rerank», se procesa la plantilla maliciosa, ejecutando el código Python arbitrario del atacante en el servidor. Esta secuencia de eventos permite al atacante lograr la ejecución remota de código (RCE) en el servidor SGLang».

Según el investigador de seguridad Stuart Beck, quien descubrió e informó la falla, el problema subyacente surge del uso de jinja2.Environment() sin sandboxing en lugar de ImmutableSandboxedEnvironment. Esto, a su vez, permite que un modelo malicioso ejecute código Python arbitrario en el servidor de inferencia.

LEER  UNC1069 La ingeniería social del mantenedor de Axios provocó un ataque a la cadena de suministro de npm

La secuencia completa de acciones es la siguiente:

  • Un atacante crea un archivo modelo GGUF con un tokenizer.chat_template malicioso que contiene una carga útil Jinja2 SSTI
  • La plantilla incluye la frase desencadenante del reranker Qwen3 para activar la ruta del código vulnerable en «entrypoints/openai/serving_rerank.py».
  • La víctima descarga y carga el modelo en SGLang desde fuentes como Hugging Face
  • Cuando una solicitud llega al punto final «/v1/rerank», SGLang lee chat_template y lo representa con jinja2.Environment()
  • La carga útil SSTI ejecuta código Python arbitrario en el servidor

Vale la pena señalar que CVE-2026-5760 cae dentro de la misma clase de vulnerabilidad que CVE-2024-34359 (también conocido como Llama Drama, puntuación CVSS: 9.7), una falla crítica ahora parcheada en el paquete Python llama_cpp_python que podría haber resultado en la ejecución de código arbitrario. La misma superficie de ataque también se rectificó en vLLM a finales del año pasado (CVE-2025-61620, puntuación CVSS: 6,5).

«Para mitigar esta vulnerabilidad, se recomienda utilizar ImmutableSandboxedEnvironment en lugar de jinja2.Environment() para representar las plantillas de chat», dijo CERT/CC. «Esto evitará la ejecución de código Python arbitrario en el servidor. No se obtuvo respuesta ni parche durante el proceso de coordinación».

spot_img