CVE-2026-61539: Xinference: Remote code execution via unsafe `eval()` in Llama3 tool-call parsing
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.
Security readout for executives and security teams
Plain-English summary
A remote, unauthenticated attacker may use a crafted prompt to make a vulnerable Xinference server execute code. Successful exploitation could expose data, alter systems, disrupt service, and affect resources reachable from the server process. The issue is fixed in Xinference 2.7.0.
Executive priority
Immediate. Prioritize internet-facing and unauthenticated deployments, then all remaining instances below 2.7.0. Because exploitation could provide control within the server process context, upgrading and reviewing potentially exposed hosts should be treated as an emergency change rather than routine maintenance.
Technical view
Xinference versions below 2.7.0 are listed as affected. Llama3 tool-call processing passes attacker-influenced, model-generated arguments to Python eval(). Requests using the tools field at /v1/chat/completions can therefore cause code execution in the Xinference server process context. The weakness is classified as CWE-95 and scored CVSS 3.1 10.0.
Likely exposure
Highest risk applies to pre-2.7.0 Xinference deployments where untrusted users can reach /v1/chat/completions and invoke tool-call processing. Internet-facing or otherwise unauthenticated services warrant immediate review. Exposure may be lower where network controls prevent untrusted access, but the supplied sources do not establish those controls as a complete mitigation.
Exploitation context
The source bundle describes unauthenticated remote code execution with low complexity and no user interaction. It does not report inclusion in CISA KEV or provide evidence of active exploitation. Treat the flaw as highly exploitable based on its attack conditions, while distinguishing that assessment from confirmed exploitation in the wild.
Researcher notes
The vulnerable data flow reaches extract_tool_calls() or _eval_llama3_chat_arguments(), where model-generated Python expressions are evaluated. The bundle identifies the REST, transformer, and post-processing path and links the corrective commit. It does not provide confirmed exploitation telemetry, indicators of compromise, or evidence defining practical limitations beyond the stated Llama3 tool-call path.
Mitigation direction
Upgrade Xinference to version 2.7.0 or later immediately.
Limit network access to Xinference endpoints to trusted clients until upgrading.
Check the vendor advisory and release notes for any updated remediation guidance.
Investigate potentially exposed systems before returning them to normal service.
Validation and detection
Inventory every Xinference deployment and record its installed version.
Confirm affected systems now run Xinference 2.7.0 or later.
Identify whether untrusted clients could reach /v1/chat/completions with tool requests.
Review application and host telemetry for unexpected Xinference process activity.
Document that the supplied sources provide no specific compromise indicators.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · medium confidence lookup
CWE-95: Code execution behavior lookup
Code execution and unsafe deserialization weaknesses often justify reviewing execution behavior and process telemetry. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
The CVE wording references code or command execution, so execution technique review may help defensive triage. This is a Glexia inferred lookup path, not an official MITRE, ATT&CK, or CVE Program mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
1CVSS vectors
3Timeline events
1ADP providers
5Source links
SSVC decision data
CISA-ADPCISA Coordinator
Timestamp
Version
2.0.3
Exploitation: noneAutomatable: yesTechnical Impact: total
CVSS vector scores
1 official score
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-95 · source CWE mapping
Improper Neutralization of Directives in Dynamically Evaluated Code
Improper Neutralization of Directives in Dynamically Evaluated Code represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.