Summary
An unsafe deserialization vulnerability allows any authenticated user to execute arbitrary code on the server if they are able to get the model to pass the code as an argument to a tool call.
Details
vLLM's Qwen3 Coder tool parser contains a code execution path that uses Python's eval()
function to parse tool call parameters. This occurs during the parameter conversion process when the parser attempts to handle unknown data types.
This code path is reached when:
- Tool calling is enabled (
--enable-auto-tool-choice
)
- The qwen3_coder parser is specified (
--tool-call-parser qwen3_coder
)
- The parameter type is not explicitly defined or recognized
Impact
Remote Code Execution via Python's eval()
function.
References
Summary
An unsafe deserialization vulnerability allows any authenticated user to execute arbitrary code on the server if they are able to get the model to pass the code as an argument to a tool call.
Details
vLLM's Qwen3 Coder tool parser contains a code execution path that uses Python's
eval()
function to parse tool call parameters. This occurs during the parameter conversion process when the parser attempts to handle unknown data types.This code path is reached when:
--enable-auto-tool-choice
)--tool-call-parser qwen3_coder
)Impact
Remote Code Execution via Python's
eval()
function.References