vLLM eval() flaw shows how malicious model output could target inference hosts
- CVE-2025-9141 let arbitrary code run on a vLLM host because its XML tool parser for Qwen3 Coder passed almost every tool-call argument to eval(); the author says Gemini flagged the introducing PR as a critical issue before a lead maintainer force-merged it.
- The proposed attack does not require semantic prompt injection: a malicious model emits a token sequence that an inference engine mishandles as executable instructions, potentially compromising the GPU host that holds model weights and has datacenter access.
- vLLM documents support for more than 200 model architectures and has about 35 Jinja chat templates; the author argues that parsing model-specific chats, tool calls, and reasoning blocks expands the chance of exploitable bugs.
- A vLLM issue showed the parser treating a literal mm:think string as a MiniMax-M3 reasoning-block marker, moving subsequent text from the response into a reasoning field rather than returning it verbatim.
- The author considers multimodal output a less direct host-compromise route because current models generally emit constrained media tokens rather than arbitrary file bytes, but says extra decoders, encoders, and native kernels still add attack surface.
Hacker News opinions
I think treating the harness as the security boundary is wrong. I would put the agent in a VM or even a container, let it run as root there, and ensure it cannot affect anything outside that environment.
I think that misses the article's point. The proposed target is the inference engine itself, before model output reaches the agent machine or harness.
I do not think anyone can sandbox a frontier model well enough to make it both useful and harmless. If it has enough access to do useful work, it likely has enough access to cause damage when compromised or when it goes off the rails.
I would manage an AI agent much like a user laptop: give it its own machine and apply the usual endpoint controls.
I am skeptical because large-model inference commonly spans multi-GPU clusters, and API response parsing may already run apart from GPU inference for batching. The article feels handwavy about where the parser actually runs.
I would not ignore local single-GPU hosts running Qwen models through Ollama. There may be many such machines worth compromising, even if a datacenter cluster has better separation.
On macOS, tools such as LM Studio, Ollama, and Darkbloom are not sandboxed. That is also why they are not distributed through the Mac App Store, whose rules require sandboxing.
I think the author confuses provider-hosted models with local inference. Provider weights are not simply loaded onto a customer's host machine.
I read this as an attack on locally deployed inference tools such as vLLM, not on model providers. People can run those tools with downloaded model weights on their own machines or remote infrastructure.
I would worry about terminal emulators too. Model output that reaches a terminal could use escape-sequence bugs to cross a VM boundary or reach the host.
I would sanitize ANSI output, retaining only basic formatting and removing unusual escapes such as Sixel. A Chrome-style multiprocess design could put the ANSI parser in its own sandboxed process.
I see this as technically possible but less plausible than the framing suggests. A vulnerability in an inference parser is an ordinary untrusted-input problem, much like a malicious PDF exploiting Acrobat.
I think the article is specifically about a malicious model output exploiting the inference engine's parser, rather than an LLM magically escaping. Running random downloaded models deserves the same caution as opening hostile files.
I think the inference engine itself does not execute commands, while an agent loop might. I have trouble seeing how streamed tokens alone take over the host unless they trigger a genuine parser or API vulnerability.
I run vLLM in a separately sandboxed VM on a firewalled VLAN because its HTTP interface is an attack surface and it is developing quickly. My production setup permits outbound logs and telemetry only, with no DNS, AD/LDAP, or general network access.