
CVE-2026-24207 — NVIDIA Triton SageMaker auth bypass to unauth RCE. Detection script, bypass demo, RCE-chain PoC, and IDS rules.
يمكن للمهاجمين غير الموثّقين الوصول إلى سطح إدارة النماذج لـ NVIDIA Triton Inference Server على منافذ HTTP الخاصة بـ SageMaker وVertex AI — متجاوزين تكوين المشغل
--http-restricted-api. وبالاقتران مع أولية تحميل MME الخاصة بـ SageMaker ونموذج خلفية بايثون، يتيح ذلك تنفيذ التعليمات البرمجية عن بُعد قبل المصادقة كمستخدم عملية Triton عندما يتمكن المهاجم من وضع ملفات النموذج على مسار نظام ملفات قابل للقراءة بواسطة Triton.
النطاق. تعيد نصوص إثبات المفهوم إنتاج CVE-2026-24207 (SageMaker) بالكامل، بما في ذلك سلسلة RCE غير الموثّقة، تم التحقق منها مقابل حاويات NVIDIA NGC الرسمية. CVE-2026-24206 (Vertex AI) هو الخطأ الشقيق المطابق هيكليًا — تم تأكيده من خلال مراجعة المصدر/التصحيح لـ PR #8680 (
docs/root-cause.md,docs/patch-diff.md)، ولم يتم إعادة إنتاجه في المختبر.
| المكون | المتأثرة | المصححة |
|---|---|---|
| NVIDIA Triton Inference Server | ≤ 26.02 (v2.66.0) | 26.03 (v2.67.0) |
python3 detect.py <host:sagemaker_port>
يرسل طلب GET واحد للقراءة فقط. يطبع PATCHED أو VULNERABLE أو UNKNOWN.
لا يقوم بأي تغييرات.
python3 bypass_demo.py <host:sagemaker_port>
يرسل ثلاثة استطلاعات — التحقق من الصحة (ينجح دائمًا)، /models مع رأس المصادقة المكوّن (أساسي مصرح به)، و /models بدون الرأس (التجاوز). تُظهر رموز الاستجابة جنبًا إلى جنب اختلاف السلوك. لا تغيير في الحالة. انظر docs/root-cause.md.
# Probe the model-management surface (enumerate + LOAD attempt + UNLOAD attempt)
python3 exploit.py <host:sagemaker_port>
# Full RCE chain — point Triton at a path you control on its filesystem
python3 exploit.py <host:sagemaker_port> --mode rce \
--url /opt/ml/models/<your-attacker-dir> \
--name chaindemo
يقوم تدفق --mode rce بتحميل نموذج خلفية بايثون من مسار يوفره المستخدم. إذا كان الدليل يحتوي على config.pbtxt + model.py صالحين (انظر example/ للحصول على عرض توضيحي غير ضار)، فإن model.py يتم تنفيذه كمستخدم عملية Triton — قبل المصادقة.
انظر docs/rce-chain.md لآليات السلسلة والمتطلبات الأساسية.
Python 3.8+ و requests:
pip install requests
تحليل مستقل بعد التصحيح وإثبات المفهوم بواسطة 4252nez — شرح على OffSecKit. تم الإبلاغ عن الثغرات الأصلية بواسطة Hyeonjun Ahn (@deayzl) وتم نسبها في نشرة أمن NVIDIA لشهر مايو 2026؛ لا تعلق لهذا المستودع بهذا التقرير.
MIT — انظر LICENSE.
| الملف | الغرض |
|---|
detect.py | فحص غير مدمر لحالة التصحيح |
bypass_demo.py | جانب تعليمي جنبًا إلى جنب لآلية التجاوز |
exploit.py | فحص سطح إدارة النماذج + عرض توضيحي لسلسلة RCE |
example/ | نموذج خلفية بايثون غير ضار لعرض RCE |
detection/triton-access.md | إرشادات الكشف (بصمة الإصدار + توقيعات السجل) |
detection/suricata.rules | قواعد IDS للشبكة |
docs/root-cause.md | شرح مختصر للسبب الجذري |
docs/patch-diff.md | الإصلاح، في فرق واحد |
docs/rce-chain.md | سلسلة RCE غير الموثّقة عبر خلفية بايثون |