| タイトル | vLLM Project (vllm-project) vLLM v0.26.0 Denial of Service |
|---|
| 説明 | vLLM'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. |
|---|
| ソース | ⚠️ https://github.com/vllm-project/vllm/issues/50954 |
|---|
| ユーザー | Zyz3366 (UID 97230) |
|---|
| 送信 | 2026年08月07日 18:05 (1 月 ago) |
|---|
| モデレーション | 2026年09月13日 11:41 (1 month later) |
|---|
| ステータス | 承諾済み |
|---|
| VulDBエントリ | 403267 [vllm-project vLLM 迄 0.29.0 tiktoken vocab File mod.rs TiktokenTokenizer::new サービス拒否] |
|---|
| ポイント | 20 |
|---|