Skip to content
CVSS 10.0CVSS 10.0 · CRITICAL

CVE-2026-61539Unauthenticated RCE in Xinference via Llama3 tool-call

Xinference is an inference API for running open-source, speech, and multimodal models. In 2.5.0 and earlier, Xinference passes attacker-influenced Llama3 tool-call output to eval() in xinference/model/llm/tool_parsers/llama3_tool_parser.py and xinference/model/llm/utils.py. Requests to /v1/chat/completions with a tools field flow through xinference/api/restful_api.py, xinference/model/llm/transformers/core.py, handle_chat_result_non_streaming(), and _post_process_completion() before extract_tool_calls() or _eval_llama3_chat_arguments() evaluates the model-generated Python expression. An unauthenticated remote attacker can influence that output through a crafted prompt and execute commands in the Xinference server process context. This issue is fixed in version 2.7.0.

View on NVD

Analysis

Xinference permite la ejecución de comandos remotos sin autenticación debido al uso inseguro de eval en el procesamiento de llamadas de herramientas de Llama3. Un atacante puede enviar un prompt diseñado para tomar control total del servidor que ejecuta los modelos de inteligencia artificial. Se recomienda actualizar inmediatamente a la versión 2.7.0 para mitigar este riesgo.

Relevant roles

Pythoninteligencia artificialIADataScienceMachineLearningBackend

Severity

Score: 10.0(CRITICAL)
Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
AV: NETWORK
AC: LOW
PR: NONE
UI: NONE
S: CHANGED
C: HIGH
I: HIGH
A: HIGH
Weakness (CWE): CWE-95

EPSS

No EPSS score yet (CVE may be too fresh).

Technical description

Xinference is an inference API for running open-source, speech, and multimodal models. In 2.5.0 and earlier, Xinference passes attacker-influenced Llama3 tool-call output to eval() in xinference/model/llm/tool_parsers/llama3_tool_parser.py and xinference/model/llm/utils.py. Requests to /v1/chat/completions with a tools field flow through xinference/api/restful_api.py, xinference/model/llm/transformers/core.py, handle_chat_result_non_streaming(), and _post_process_completion() before extract_tool_calls() or _eval_llama3_chat_arguments() evaluates the model-generated Python expression. An unauthenticated remote attacker can influence that output through a crafted prompt and execute commands in the Xinference server process context. This issue is fixed in version 2.7.0.

Published: 8/21/2026, 9:17:00 PM
Last modified: 8/21/2026, 9:17:00 PM

References

HomeEventsBlogResourcesCoursesTeam