ابزار Refitter که برای تولید کلاینتهای C# REST API با استفاده از کتابخانه Refit طراحی شده است، با یک آسیبپذیری امنیتی جدی مواجه شده است. این نقص میتواند منجر به تزریق محتوای مخرب یا دسترسی غیرمجاز به فایلهای حساس در محیطهای توسعه و سیستمهای CI/CD شود.
جزئیات فنی آسیبپذیری
در نسخههای پیش از 2.1.1، ابزار dotnet مربوط به Refitter هنگام استفاده از NJsonSchema برای تولید اینترفیسها و قراردادها، از تنظیمات پیشفرض ناامن برای حل (resolution) پارامتر $ref استفاده میکند. اگر یک مهاجم بتواند فایلهای توصیف OpenAPI را تحت کنترل خود درآورد یا آنها را دستکاری کند، میتواند از این نقص سوءاستفاده نماید.
- تزریق محتوای از راه دور: ارجاعات
http(s)از راه دور باعث میشود که سیستم توسعهدهنده یا میزبان CI درخواستهایی ارسال کرده و محتوای غیرقابل اعتماد را مستقیماً در خروجی تولید شده تزریق کند. - دسترسی به فایلهای محلی: مهاجم میتواند با استفاده از مسیرهای مطلق فایلهای محلی یا تکنیکهای Traversal (مانند
../)، به فایلهای حساس سیستم دسترسی پیدا کند.
اقدامات اصلاحی
توسعهدهندگان و تیمهای امنیت توصیه میکنند که بلافاصله ابزار Refitter خود را به نسخه 2.1.1 یا بالاتر بهروزرسانی کنند تا از سوءاستفاده از این آسیبپذیری جلوگیری شود.