CVE-2026-61539
KrytyczneCVSS 10.0Streszczenie
Xinference to API wnioskowania do uruchamiania modeli open-source, mowy i multimodalnych. W wersji 2.5.0 i wcześniejszych, Xinference przekazuje wynik wywołania narzędzia Llama3, na który wpływ ma atakujący, do funkcji eval() w xinference/model/llm/tool_parsers/llama3_tool_parser.py oraz xinference/model/llm/utils.py. Żądania do /v1/chat/completions z polem tools przepływają przez xinference/api/restful_api.py, xinference/model/llm/transformers/core.py, handle_chat_result_non_streaming() i _post_process_completion() przed extract_tool_calls() lub _eval_llama3_chat_arguments() oceniają wygenerowane przez model wyrażenie Pythona. Nieuwierzytelniony zdalny atakujący może wpłynąć na ten wynik poprzez spreparowany prompt i wykonać polecenia w kontekście procesu serwera Xinference. Problem naprawiono w wersji 2.7.0.
Ocena ryzyka
Ryzyko obejmuje zdalne wykonanie kodu przez nieuwierzytelnionego atakującego w kontekście procesu serwera Xinference, co może prowadzić do pełnego przejęcia serwera, kradzieży danych i naruszenia bezpieczeństwa.
Rekomendacja
Zaleca się aktualizację Xinference do wersji 2.7.0 lub nowszej, aby zapobiec wykorzystaniu eval() do wykonania kodu.
Oryginalny opis (angielski, źródło NVD)
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.

