در نسخههای SGLang تا ورژن 0.5.21، یک آسیبپذیری از نوع Denial of Service (DoS) شناسایی شده است که میتواند منجر به توقف کامل سرویس شود.
جزئیات فنی آسیبپذیری
این نقص امنیتی به دلیل غیرفعال شدن مکانیزمهای حفاظتی کتابخانه Pillow در برابر بمبهای بازپوششی (Decompression Bomb) رخ میدهد. در بخش NanoNemotronVLImageProcessor، مقدار Image.MAX_IMAGE_PIXELS به None تغییر یافته است که باعث میشود محدودیتهای پیشفرض برای پردازش تصاویر بسیار بزرگ در سطح کل فرآیند (Process-wide) حذف شوند.
روش بهرهبرداری
- مهاجمان میتوانند تصاویری با حجم بسیار کم اما ابعاد بسیار بزرگ (Highly Compressed Images) را به لودر تصاویر (Generic Image Loader) ارسال کنند.
- در هنگام رمزگشایی (Decoding) این تصاویر، مقدار زیادی از حافظه سیستم اشغال شده و منجر به Memory Exhaustion میشود.
- در نهایت، این فرآیند باعث کراش کردن Workerها و توقف در دسترس بودن سرویس (DoS) میگردد.