Skip to content

Security Not yet confirmed elsewhere1 publisher 2 min read Published

Chainguard's Mythos harness finds a vLLM flaw that lets one client dictate another's output

Chainguard says its Mythos harness found a vLLM flaw, left in the public tracker for four months, that lets one client force another client's output. Versions before v0.31.0 are affected, and nothing is logged when the forced answer returns.

The Watch · Security desk

How we use AI Send a correction

Illustration accompanying Chainguard's Mythos harness finds a vLLM flaw that lets one client dictate another's output
Generated illustration
vLLM run took hours and millions of tokens Chainguard's figures for the Mythos harness's vLLM run, and its validated findings across over 65 projects.

Key figures per Chainguard: the Mythos harness ran on vLLM for just under 11 hours (10h 48m) and went through about 115 million tokens; across over 65 projects, Chainguard has validated over 680 findings.

vLLM run took hours and millions of tokens
FigureValueNoteClaim
Mythos harness run on vLLM, just under11 hours10h 48m13
Tokens in vLLM run, about115 million tokens14
Validated by Chainguard, over680 findingsacross over 65 projects15

What happened

  • Requests can carry an allowed_token_ids list that limits which tokens the model may generate, and vLLM keeps each running request's list as a row in a single table that all requests share.
  • Once a request completes, the next request inherits its row, and the code moves the old restriction without clearing it, writing a new one only if the incoming request supplied its own.
  • An attacker holds open a long request that allows exactly one token, the next request on the stale row can produce only that token, and Chainguard reproduced this three times out of three.
  • In Chainguard's test, a victim who asked for the capital of France got back "violin violin violin violin violin violin."

Why it matters

  • exposure Shared vLLM engines whose output feeds automated checks are where a forced answer changes a decision, because no person is positioned to notice it.
  • decision Operators on versions before v0.31.0 must decide whether the Low rating covers their deployment, and with a one-line fix, upgrading costs less than settling that question engine by engine.
  • precedent We'd expect more advisories from this harness: over 680 validated findings across over 65 projects, a number in coordinated disclosure, and AI serving engines near the top of its target list.

The attack is blind. According to Chainguard, the attacker cannot pick the victim and cannot see the victim's prompt or response [8]. vLLM rated the issue Low, and Chainguard says it thinks that rating is fair if the bug is judged on its own [9]. The fix is one line that clears the row, and it comes with a related fix [10].

We think Low is right where a person reads the answer. Chainguard's case is the other deployment. Plenty of LLM output is never read by a person, it says; it goes instead into moderation checks and classifiers, or becomes numbers that other systems act on [19]. If an attacker restricts those answers to "yes," they pass on someone else's request [19].

The process behind the finding is Chainguard's own account. According to Chainguard, each target is compiled from source inside an isolated microVM that holds no credentials, and the agents exercise the live software as well as reading its code [11]. Every finding is reproduced on a clean build before anyone on the team sees it, and an engineer then checks each claim against the source [12]. The vLLM run took 10h 48m [13] and about 115 million tokens [14], or roughly 10.6 million tokens an hour [18].

Chainguard says it does not publish exploit code [17]. The only public trace before the disclosure was a tracker entry filed as an ordinary bug [2].

What to watch

  • Whether the other Chainguard findings now in coordinated disclosure turn into advisories on AI serving engines.
  • Whether a CVE identifier is assigned to the vLLM flaw, or anyone reports exploitation.
  • Whether vLLM revisits its Low rating after Chainguard's moderation and classifier scenario.

Clarity's read

What the record supports and how the coverage leans. The claims behind it follow.

Reality

Evidence58
Adoption
Insufficient
Hype gap−5
Incentives65
Confidence60
Why these scores

Claim ledger

Ranked by verification strength, evidence, and original report placement.

  1. [1]

    The first public finding from Chainguard's Mythos harness is in vLLM: one client could force the output of another client's request.

    Reported Supported Source: ChainguardView cited source
  2. [2]

    The bug had been sitting in vLLM's public issue tracker for four months, filed as an ordinary bug.

    Reported Supported Source: ChainguardView cited source
  3. [3]

    In vLLM versions before v0.31.0, one client could force the output of other clients on the same engine.

    Reported Supported Source: ChainguardView cited source

Get this ledger inside ChatGPT. Ask about any of our stories and the answer brings its figure, each claim’s verdict and the sources. Free, no account.

Add to ChatGPTAdd to Claude

Sources

1 independent publisher whose own reporting we read for this story.

  1. chainguard.dev

    1 article · October 12, 2026

    The first disclosure from our Mythos harness

Share your take

Let Clarity write the post for you.

Signed-in readers get a short post drafted on this story in the register they choose — narrative, analytical, or a direct position — editable to the last word before it goes anywhere. The share buttons at the top of this story work without an account.

Topics and entities

Follow any of these and your For You feed starts watching them — no settings page required.

Loading related stories