GPU VulnDB

Database/AI/ML frameworks & serving

Hugging Face tokenizers: crafted tokenizer.json aborts the process while loading a BPE model

CVSS 7.1CVE-2026-85670AI/ML frameworks & servingcurated

Impact

The builder sizes a scratch buffer to the longest vocabulary key and then writes each concatenated merge rule into it, so a merge whose concatenated token is longer than that key overruns the buffer. Rust turns the overrun into a panic that aborts the process, and because serving stacks reach this through the Python and Node FFI bindings, the abort takes the whole worker down rather than failing one request. It happens at Tokenizer::from_file/from_str time with no encoding required, so any pipeline that pulls tokenizers from a model hub, accepts tenant-supplied model directories, or shares a model cache can be crashed by whoever supplied the file. A second defect at the same location causes a usize underflow when continuing_subword_prefix is set and a merge token is shorter than the prefix: a panic in debug builds, and potential memory corruption in release builds. Observed in 0.23.1.

Who can reach it

Anyone who can place a tokenizer.json in front of the loader: a tenant uploading a model, a job pulling an unvetted repository from a model hub, or a poisoned entry in a shared model cache. No authentication to the serving process is needed, since the file itself is the input.

What to do

Upgrade the tokenizers crate or wheel past 0.23.1. The record points at the v0.23.2 tag as the branch carrying this code and does not state a fixed release, so confirm against upstream issue 2094 and the VulnCheck advisory before pinning a version as clean. Meanwhile, load tokenizer files only from sources you control and validate them out of band. Rolling the fix out means rebuilding the serving image and restarting the inference workers; no node reboot is involved.

References

Related entries

All AI/ML frameworks & serving entries

This entry is curated: imported from vendor advisories with machine assistance, not yet individually verified. Confirm against your vendor's advisory before acting, and report anything wrong.