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: 2026-08-21
Score: 10 Critical
EPSS: < 1% Very Low
KEV: No
Impact: Remote Code Execution
Action: Immediate Patch
AI Analysis

Impact

Xinference allows the model to output arbitrary Python code in Llama3 tool‑call responses, which the service then passes directly to eval(). An attacker who can craft a prompt and submit it to the /v1/chat/completions endpoint can inject malicious code that is executed in the server process, granting full control over the host. This flaw stems from an unsanitized use of eval() (CWE‑95) and enables remote code execution without authentication.

Affected Systems

The vulnerability exists in the xorbitsai inference API version 2.5.0 and all earlier releases. All installations that have not applied the official fix in release 2.7.0 are affected. The issue arises from code located in xinference/model/llm/tool_parsers/llama3_tool_parser.py and xinference/model/llm/utils.py, and is triggered by requests to the chat completion endpoint when tool‑calls are enabled.

Risk and Exploitability

The CVSS score of 10.0 indicates a critical severity. Although EPSS data is not available, the description confirms that an unauthenticated remote attacker can exploit the flaw by crafting a malicious prompt. The vulnerability is not listed in CISA’s KEV catalog, but the lack of an authentication boundary and the use of eval() make it a high‑risk target. The likely attack vector is any network reachable to the Xinference API, with local code execution running in the server process as the attacker’s user.

Generated by OpenCVE AI on August 21, 2026 at 21:50 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Xinference to version 2.7.0 or later, which removes the unsafe eval() usage.
  • If an upgrade is not immediately possible, disable the tools feature or restrict the /v1/chat/completions endpoint to trusted IP ranges to prevent unauthenticated prompt injection.
  • Implement application‑level monitoring and logging to detect suspicious attempts at tool‑call injection, and regularly audit incoming payloads for unexpected Python syntax.

Generated by OpenCVE AI on August 21, 2026 at 21:50 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-x2rj-828p-hx9m Xinference vulnerable to remote code execution via unsafe `eval()` in Llama3 tool-call parsing
History

Mon, 24 Aug 2026 20:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Sun, 23 Aug 2026 16:45:00 +0000

Type Values Removed Values Added
First Time appeared Xorbitsai
Xorbitsai inference
Vendors & Products Xorbitsai
Xorbitsai inference

Fri, 21 Aug 2026 20:45:00 +0000

Type Values Removed Values Added
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.
Title Xinference: Remote code execution via unsafe `eval()` in Llama3 tool-call parsing
Weaknesses CWE-95
References
Metrics cvssV3_1

{'score': 10, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H'}


Subscriptions

Xorbitsai Inference
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-08-24T19:45:13.875Z

Reserved: 2026-07-10T16:27:03.093Z

Link: CVE-2026-61539

cve-icon Vulnrichment

Updated: 2026-08-24T19:45:10.179Z

cve-icon NVD

Status : Received

Published: 2026-08-21T21:17:00.867

Modified: 2026-08-24T20:16:52.137

Link: CVE-2026-61539

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-23T16:40:35Z

Weaknesses
  • CWE-95

    Improper Neutralization of Directives in Dynamically Evaluated Code ('Eval Injection')