Memory Corruption
در vLLM به دلیل sparse-tensors خطرناک
در موتور vLLM که برای inference و serving مدل های بزرگ زبان (LLM) استفاده میشود، در نسخه های 0.10.2 تا 0.11.1 (شامل 0.10.2 تا پیش از 0.11.1) یک آسیب پذیری بحرانی با شناسه CVE-2025-62164 کشف شده که نتیجهاش corruption حافظه است و میتواند منجر به DoS و بالقوه RCE شود.
شرح آسیبپذیری
آسیب پذیری در پردازش درخواست های Completions API رخ می دهد، زمانی که سرور embeddings ارسالی کاربر را می پذیرد. در حین پردازش این دادهها، vLLM از این فراخوانی ها استفاده میکند:
torch.load() — بارگذاری تنسور سریالی شده
tensor.to_dense() — تبدیل به فرمت dense
زنجیره خطرناک به این شکل است:
1. تابع torch.load() ساختار sparse-tensor ارسالی کاربر را به درستی اعتبارسنجی نمی کند.
2. در PyTorch 2.8.0، integrity checks غیرفعال شدهاند.
3. بهدلیل نبودِ بررسی ها، یک مهاجم می تواند sparse-tensor خاصی بسازد که ایندکس های نادرستی دارد.
4. هنگام فراخوانی to_dense()، چنین داده هایی از checks داخلی bounds در PyTorch عبور میکنند.
5. این منجر به نوشتن خارج از محدوده (out-of-bounds write) میشود و در نتیجه memory corruption رخ میدهد.
پیامدها
DoS
روند vLLM بهخاطر corruption حافظه کرش میکند.
RCE
از نظر تئوریک ممکن است که اجرای کد دلخواه روی سرور رخ دهد اگر مهاجم بتواند جهت نوشتن OOB را کنترل کند.
وضعیت اصلاح
patch منتشر شده است
بهروزرسانی کنید به نسخه 0.11.1 تا از زیرساخت تان محافظت شود.
توضیح تکمیلی (NB)
vLLM
یک موتور inference با کارایی بالا برای LLM است که روی افزایش throughput، کاهش latency و بهینه سازی استفاده از حافظه GPU تمرکز دارد. فناوری اصلی آن PagedAttention است که امکان اختصاص مؤثر حافظه برای توکن ها را فراهم میکند. vLLM از API سازگار با OpenAI پشتیبانی میکند و در production بهخاطر سرعت، مقیاس پذیری و سادگی ادغام، بهطور گسترده استفاده می شود.
@TryHackBoxStory