Submit #918762: vLLM Project (vllm-project) vLLM v0.26.0 Denial of Serviceinfo

TitlevLLM Project (vllm-project) vLLM v0.26.0 Denial of Service
DescriptionvLLM's experimental Rust frontend terminates the entire server process when it loads a tiktoken vocabulary file that assigns the same rank to two tokens. TiktokenTokenizer::new() -- the constructor used on the production model-load path (rust/src/text/src/backend/hf/mod.rs:27) -- first attempts to load the vocabulary with the `riptoken` backend. A duplicate rank makes riptoken return Err, so new() falls back to `tiktoken-rs` (rust/src/tokenizer/src/tiktoken.rs:274). That backend asserts on the resulting encoder/decoder length mismatch rather than returning an error, panicking at tiktoken-rs-0.9.1/src/patched_tiktoken.rs:33. Because the workspace sets `panic = "abort"` in its release profile, the panic is not recoverable by the caller: the process aborts instead of the load returning Err, which the fallible signature of new() leads callers to expect. Impact is availability only. There is no memory unsafety -- the panic is a controlled abort -- and no disclosure. The trigger is loading a malformed or hostile tokenizer file, i.e. an operator action when loading an untrusted model, not a network request.
Source⚠️ https://github.com/vllm-project/vllm/issues/50954
User
 Zyz3366 (UID 97230)
Submission08/07/2026 18:05 (1 month ago)
Moderation09/13/2026 11:41 (1 month later)
StatusAccepted
VulDB entry403267 [vllm-project vLLM up to 0.29.0 tiktoken vocab File mod.rs TiktokenTokenizer::new denial of service]
Points20

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!