
Se ha revelado una vulnerabilidad de seguridad crítica en SGLang que, si se explota con éxito, podría provocar la ejecución remota de código en un sistema susceptible.
Esta vulnerabilidad se rastrea como CVE-2026-5760 y tiene una puntuación CVSS de 9,8 sobre 10,0. Esto se describe como un caso de inyección de comandos que conduce a la ejecución de código arbitrario.
SGLang es un marco de servicios de código abierto de alto rendimiento para modelos multimodales y de lenguaje a gran escala. 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), esta vulnerabilidad afecta al punto final de reclasificación ‘/v1/rerank’ y podría permitir a un atacante ejecutar código arbitrario en el contexto del servicio SGLang utilizando un archivo modelo de formato unificado generado por GPT (GGUF) especialmente diseñado.
«Un atacante explota esta vulnerabilidad creando un archivo modelo de formato uniforme de generación GPT (GGUF) malicioso que contiene un parámetro tokenizer.chat_template diseñado que contiene una carga útil de inyección de plantilla del lado del servidor (SSTI) Jinja2 que contiene una frase desencadenante que activa 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 la solicitud llega al punto final «/v1/rerank», la plantilla maliciosa se procesa y el código Python arbitrario del atacante se ejecuta en el servidor. Esta secuencia de eventos permite al atacante realizar una 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 una zona de pruebas en lugar de ImmutableSandboxedEnvironment. Esto permite que un modelo malicioso ejecute código Python arbitrario en el servidor de inferencia.
Toda la secuencia de acciones es:
El atacante crea un archivo modelo GGUF que contiene un tokenizer.chat_template malicioso con una carga útil Jinja2 SSTI. La plantilla contiene una frase desencadenante de reranker Qwen3 que activa la ruta del código vulnerable en ‘entrypoints/openai/serving_rerank.py’. Las víctimas descargan y cargan modelos en SGLang desde fuentes como Hugging Face. Cuando una solicitud llega al punto final «/v1/rerank», SGLang lee y procesa chat_template. La carga útil SSTI ejecuta código Python arbitrario en el servidor usando jinja2.Environment()
Vale la pena señalar que CVE-2026-5760 cae en la misma clase de vulnerabilidad que CVE-2024-34359 (también conocida como Llama Drama, puntuación CVSS: 9,7), una falla crítica en el paquete Python llama_cpp_python que puede conducir a la ejecución de código arbitrario. La misma superficie de ataque también se solucionó en vLLM a finales del año pasado (CVE-2025-61620, puntuación CVSS: 6,5).
«Para mitigar esta vulnerabilidad, recomendamos usar ImmutableSandboxedEnvironment en lugar de jinja2.Environment() para representar plantillas de chat», afirma CERT/CC. «Esto evita que se ejecute código Python arbitrario en el servidor. No se obtuvieron respuestas ni parches durante el proceso de reconciliación».
Source link
