Xinference: Remote code execution via unsafe `eval()` in Llama3 tool-call parsing
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | ||||||
|---|---|---|---|---|---|---|---|---|---|
| xorbitsai | inference | affected |
|
No data.
No data.
| Vendor | Product | Versions | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Xorbitsai | Inference |
|
| Source | ID | Title |
|---|---|---|
Github GHSA |
GHSA-x2rj-828p-hx9m | Xinference vulnerable to remote code execution via unsafe `eval()` in Llama3 tool-call parsing |
No CVSS v4.0
No CVSS v3.0
No CVSS v2
This CVE is not in the KEV list.
Exploit prediction score: 1.2% (1.226% probability within 30 days)
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
ssvc
|
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Xorbitsai
Xorbitsai inference |
|
| Vendors & Products |
Xorbitsai
Xorbitsai inference |
| 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
|