Katalog CVE

CVE-2026-85670

ŚrednieCVSS 6.5
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.47%

Percentyl 38 - wyżej niż 38% wszystkich znanych CVE

Streszczenie

tokenizers (Hugging Face) jest dotknięty dostępem do bufora poza zakresem w BpeBuilder::build (tokenizers/src/models/bpe/model.rs). Podczas ładowania tokenizer.json przez Tokenizer::from_file/from_str, builder rozmiaruje bufor pomocniczy do najdłuższego klucza słownictwa, a następnie zapisuje do niego każdą skonkatenowaną regułę scalania. Scalanie, którego skonkatenowany token przekracza najdłuższy klucz słownictwa, powoduje przepełnienie bufora, co w Rust zamienia się w panic, który przerywa proces w Rust i osadzeniach FFI. Występuje to w czasie ładowania, bez potrzeby kodowania, więc atakujący, który dostarczy spreparowany tokenizer.json, może spowodować odmowę usługi. Drugorzędna wada w tym samym miejscu może spowodować niedomiar usize (panic w debug, potencjalne uszkodzenie pamięci w release), gdy ustawiony jest continuing_subword_prefix, a token scalania jest krótszy niż prefiks. Zaobserwowano w wersji 0.23.1.

Ocena ryzyka

Ryzyko obejmuje możliwość zdalnej odmowy usługi poprzez dostarczenie złośliwego pliku tokenizer.json, co może zakłócić działanie aplikacji korzystających z tokenizers. W wersjach release może również wystąpić uszkodzenie pamięci.

Rekomendacja

Zaleca się aktualizację biblioteki tokenizers do wersji, która zawiera poprawkę, oraz unikanie ładowania niezaufanych plików tokenizer.json.

Powiązane podatności

Oryginalny opis (angielski, źródło NVD)

tokenizers (Hugging Face) is affected by an out-of-bounds buffer access in BpeBuilder::build (tokenizers/src/models/bpe/model.rs). When loading a tokenizer.json via Tokenizer::from_file/from_str, the builder sizes a scratch buffer to the longest vocabulary key, then writes each concatenated merge rule into it. A merge whose concatenated token exceeds the longest vocabulary key overruns the buffer, which Rust turns into a panic that aborts the process in Rust and FFI embeddings. This occurs at load time with no encoding required, so an attacker who supplies a crafted tokenizer.json can cause a denial of service. A secondary defect at the same location can cause a usize underflow (panic in debug, potential memory corruption in release) when continuing_subword_prefix is set and a merge token is shorter than the prefix. Observed in version 0.23.1.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS