در نسخههای 0.1.10 و قدیمیتر نرمافزار Stump، یک آسیبپذیری در بخش GraphQL API شناسایی شده است که به کاربران احراز هویت شده با سطح دسترسی پایین اجازه میدهد لیستهای هوشمند (Smart Lists) سایر کاربران را دستکاری کنند.
جزئیات فنی
این نقص امنیتی در Mutationهای updateSmartList و deleteSmartList رخ میدهد. مشکل اصلی این است که این توابع تنها بر اساس مجوز AccessSmartList عمل کرده و بررسی نمیکنند که آیا کاربر درخواستکننده، ایجادکننده (Creator) آن لیست است یا خیر. در واقع، سیستم در سطح Reader دسترسی را تایید میکند اما بررسی مالکیت (Ownership Check) را نادیده میگیرد.
در نتیجه، هر کاربر احراز هویت شدهای که دسترسی AccessSmartList داشته باشد، میتواند اقدامات زیر را انجام دهد:
- تغییر مالکیت: با استفاده از
updateSmartList، کاربر مهاجم میتواندcreatorIdرا به شناسه خود تغییر داده و مالکیت لیست را تصاحب کند. - محروم کردن کاربر اصلی: مهاجم میتواند وضعیت دیدهشدن (Visibility) لیست را به
PRIVATEتغییر داده و مالک اصلی را از دسترسی به لیست خود محروم کند. - حذف دادهها: حذف کامل لیستهای هوشمند سایر کاربران از طریق
deleteSmartList.
توصیههای امنیتی و رفع مشکل
به مدیران سیستم و تیمهای SOC توصیه میشود اقدامات زیر را در اولویت قرار دهند:
- بررسی نسخهها: شناسایی تمامی استقرارهای Stump و بهروزرسانی آنها به نسخههای جدیدتر از 0.1.10.
- مدیریت دسترسیها: بازبینی کاربران دارای مجوز
AccessSmartListو ابطال این دسترسی برای تمامی حسابهای غیرضروری. - مانیتورینگ: بررسی تنظیمات مالکیت و Visibility لیستهای هوشمند برای شناسایی تغییرات مشکوک یا لیستهایی که به طور غیرعادی به حالت
PRIVATEدرآمدهاند.