در نسخههای پیش از 0.95.3 پلتفرم Hatchet، که برای مدیریت تسکهای پسزمینه، ایجنتهای هوش مصنوعی (AI Agents) و گردشکارهای پایدار (Durable Workflows) در مقیاس بالا استفاده میشود، یک نقص امنیتی در نحوه مدیریت جریانهای V1 DurableTask شناسایی شده است.
تحلیل فنی آسیبپذیری
این مشکل زمانی رخ میدهد که Handler مربوط به جریان DurableTask، مقادیر task_external_id ارسالی توسط Worker را پیش از تایید مالکیت مستاجر (Tenant Ownership)، در نقشه مسیریابی durableInvocations ذخیره میکند. در ادامه، فرآیند تحویل Callback، این نقشه را بر اساس UUID تسک و بدون بررسی هویت مستاجر Resolve میکند.
سناریوی حمله
یک Worker احراز هویت شده که متعلق به یک مستاجر است، در صورتی که UUID مربوط به تسک یک مستاجر دیگر را بداند و بتواند یک Stream باز روی همان پروسس Dispatcher نگه دارد، قادر خواهد بود پیامهای مربوط به آن تسک را دریافت کند. این وضعیت منجر به نقض ایزولاسیون بین مستاجران (Multi-tenancy Isolation) میشود.
- نوع آسیبپذیری: نقص در احراز هویت و کنترل دسترسی
- تاثیر: دسترسی غیرمجاز به دادههای تسکهای سایر کاربران
- وضعیت: اصلاح شده در نسخه 0.95.3