در نسخههای OpenStack Swift پیش از 2.38.2، یک نقص امنیتی در میانافزار (Middleware) مربوط به TempURL شناسایی شده است که میتواند منجر به دسترسیهای غیرمجاز شود.
جزئیات فنی آسیبپذیری
این مشکل زمانی رخ میدهد که میانافزار TempURL در درخواستهای PUT، هدر X-Copy-From را رد نمیکند. در حالت عادی، امضای یک TempURL تنها متد (Method)، زمان انقضا (Expiry) و مسیر (Path) را پوشش میدهد. بنابراین، تنها خط دفاعی در برابر تغییر عملکرد یک درخواست PUT امضا شده، لیست هدرهای غیرمجاز است.
سناریوی حمله
- یک مهاجم که دارای یک TempURL معتبر برای عملیات PUT روی یک شیء (Object) خاص است، میتواند هدر
X-Copy-Fromرا به درخواست خود اضافه کند. - در این هدر، مهاجم میتواند نام هر شیء دیگری را که در همان حساب (Account) قرار دارد، ذکر کند.
- میانافزار کپی (Copy Middleware) سپس آن شیء هدف را به مقصد کپی میکند و در نتیجه مهاجم قادر خواهد بود محتوای اشیاء دیگر را دستکاری یا منتقل کند.
راهکار اصلاحی
برای رفع این آسیبپذیری، مدیران سیستم باید OpenStack Swift را به نسخه 2.38.2 یا نسخههای جدیدتر بهروزرسانی کنند تا کنترلهای لازم روی هدرهای ورودی در درخواستهای امضا شده اعمال شود.