ACVE-2026-0204
Qwen 3 ChatInject reaches 54.8% ASR, with 45.2% on Qwen3-4B Universal TAP.
The configuration
- Configuration label
- model.family qwen3 | family qwen3 + untrustedInput=true + sideEffect=true + approval never|allowlist
- Affected entries
Model: qwen3 — ECOSYSTEM (introduced 0)
- Matcher
- all
- any
- all
model.idexistsmodel.familyin[ "qwen3" ]
- some models
familyin[ "qwen3" ]
- all
- all
- some tools
untrustedInputeqtrue
- some tools
sideEffecteqtrue
- some tools
approvalin[ "never", "allowlist" ]
- any
- all
Threat
- Attacker
- content-author
- Vector
- prompt-injection
- Outcome
- arbitrary-command
Evidence
| Benchmark | Metric | Value | n | Setup | Link |
|---|---|---|---|---|---|
| AgentDojo baseline | asr | 0.175 | — | auto; simulated stateful workspace tools | https://arxiv.org/html/2509.22830 |
| AgentDojo ChatInject | asr | 0.548 | — | auto; simulated stateful workspace tools | https://arxiv.org/html/2509.22830 |
| AgentDojo ChatInject multi-tool | asr | 0.694 | — | auto; simulated multi-tool agent | https://arxiv.org/html/2509.22830 |
| InjecAgent baseline | asr | 0.085 | — | auto; simulated tools | https://arxiv.org/html/2509.22830 |
| InjecAgent ChatInject | asr | 0.394 | — | auto; simulated tools | https://arxiv.org/html/2509.22830 |
| Universal TAP | asr | 0.452 | — | auto; simulated task pairs | https://arxiv.org/html/2606.10525v1 |
| Universal TAP transfer | asr | 0.247 | — | auto; simulated task pairs | https://arxiv.org/html/2606.10525v1 |
| Universal TAP transfer | asr | 0.36 | — | auto; simulated task pairs | https://arxiv.org/html/2606.10525v1 |
| 2026 IPI competition | asr | 0.055 | — | auto; live tool, coding, and computer-use agents | https://arxiv.org/html/2603.15714 |
Why it is exploitable
What the vulnerability is
Qwen 3 shows a large format-dependent injection gap. The ChatInject paper reports AgentDojo ASR rising from 17.5% to 54.8%, with a 69.4% multi-tool variant flagged as inferred in R7; InjecAgent rises from 8.5% to 39.4%. A white-box Qwen3-4B Universal TAP run reports 45.2% over 80 task pairs, with transfer to Qwen3-32B and 235B at 24.7% to 36.0% without re-optimisation. The live 2026 competition reports 5.5% per-attempt for Qwen3 VL 235B. The first two benchmarks simulate tools; the competition runs live agents.
Which configuration is exposed
This advisory covers Qwen3 family deployments, including Qwen3-VL-235B, where external content enters a tool-calling prompt and side-effecting tools remain callable under auto approval. Concrete examples include a Qwen3 Ollama tag behind Open WebUI with a web fetch plus shell tool, or a Qwen3-VL browser agent that can submit forms without confirmation. untrustedInput, sideEffect, and egress are separate concerns: an issue reader can be untrusted, a file writer can have side effects, and an HTTP client can exfiltrate.
How ACVE detects it
ACVE matches qwen3 in the selected model or a models[] fallback, then requires a tool with untrustedInput and another with sideEffect and approval never or allowlist. A pinned Qwen3-VL identity with enumerated tools can be confirmed. A qwen3:latest or undated API alias is only possible, as is a model server that hides its tool set. The matcher cannot observe whether a template-token sanitiser or classifier actually ran; discovery must place those controls in safeguards.
Fix
- Sanitise role and turn tokens in every tool result before the Qwen3 chat template sees it. 2. Add a classifier for indirect injection and fail closed on uncertain tool output. 3. Require approval for side-effecting calls. 4. For a 4B local agent, do not rely on transfer robustness: the measured 45.2% Universal TAP ASR is still high. Record the exact template digest and repeat the same attack suite after each quantisation or serving change.
Grounding needed
Pin the Qwen3 size, Qwen3-VL 235B API snapshot or local digest, quantisation, tokenizer/template, benchmark commits, 80 Universal TAP task pairs where used, seeds, and tool approval. R7 assigns H confidence to the competition and primary ChatInject figures, but M to the size-unspecified API row; the 69.4% multi-tool number is inferred. State explicitly which tools were simulated and which were live.
Underlying CVEs / aliases
No CVE assigned. behavioural — no code defect; evidence is an evaluation
Detect
npx @pickbitsai/acve audit
For CI, emit SARIF with npx @pickbitsai/acve audit --format sarif --out acve.sarif --apply and upload it with GitHub code scanning.
Fix
Sanitise Qwen 3 tool output, classify injections, and require approval.
| Action | Target | To | Why |
|---|---|---|---|
| reconfigure | defence:template-token sanitiser | on | The largest cited deltas are caused by forged role and turn markers. |
| reconfigure | agent.approval | ask | Prevent an untrusted Qwen 3 result from directly selecting a side effect. |
| reconfigure | defence:classifier | on | Use an injection classifier before the action planner and fail closed on uncertainty. |
Validation
No validation entries recorded.
Grounding
No grounding checks recorded.