آسیبپذیری بحرانی CVE-2025-55315 در ASP.NET Core: تحلیل فنی، چکلیست اصلاحی و راهنمای تست نفوذ
آسیبپذیری CVE-2025-55315 یکی از خطرناکترین آسیبهای امنیتی سال ۲۰۲۵ در فریمورک ASP.NET Core است که با امتیاز CVSS 9.9 توسط مایکروسافت گزارش شده است. این نقص در Kestrel Web Server هنگام پردازش درخواستهای HTTP رخ میدهد و امکان حملات HTTP Request Smuggling و Response Splitting را فراهم میسازد.
اهمیت این آسیبپذیری در آن است که حتی در محیطهایی با احراز هویت فعال، مهاجم قادر است مسیر ارتباطی بین کلاینت و سرور را دستکاری کرده و درخواستهای جعلی ارسال کند. این نوع حملهها معمولاً از دید ابزارهای خودکار پنهان میمانند و تنها از طریق تست نفوذ حرفهای یا Manual Penetration Testing قابل کشف هستند.
تحلیل فنی آسیبپذیری CVE-2025-55315
این نقص از نوع HTTP Request Smuggling (HRS) است. در این حمله، دو سرور مانند Reverse Proxy و Backend درخواست HTTP را به شکل متفاوت تفسیر میکنند. مهاجم از این اختلاف برای تزریق درخواستهای پنهان درون نشست قانونی استفاده میکند.
POST /login HTTP/1.1 Host: example.com Content-Length: 20 Transfer-Encoding: chunked 0 POST /admin HTTP/1.1 Host: example.com
در مثال بالا، اگر Nginx و Kestrel به شکل متفاوت عمل کنند، درخواست دوم POST /admin ممکن است بدون احراز هویت معتبر به بکاند ارسال شود. نتیجه: مهاجم میتواند احراز هویت را دور بزند، نشستها را سرقت کند یا پاسخهای جعلی تزریق کند.
دامنه و محیطهای آسیبپذیر
- برنامههای ASP.NET Core اجراشده روی Kestrel یا IIS پشت Proxyهایی مانند Nginx، Apache یا Azure Front Door.
- سرویسهایی که از ترکیب همزمان
Transfer-EncodingوContent-Lengthدر Headerهای HTTP استفاده میکنند.
نمونه حملات ممکن:
- تزریق درخواستهای پنهان (Request Injection)
- جعل پاسخها (Response Splitting)
- دسترسی غیرمجاز به مسیرهای محافظتشده
- سرقت توکنها و نشستهای احراز هویت (Session Hijacking)
چرا این آسیبپذیری در اسکنهای خودکار شناسایی نمیشود؟
ابزارهایی مانند Nessus، Qualys یا حتی Burp Automated Scan معمولاً درخواستها را طبق RFC استاندارد ارسال میکنند. اما در حملات Request Smuggling، درخواست باید عمداً غیراستاندارد باشد تا تفسیرهای متفاوت ایجاد شود. تنها در تست نفوذ انسانی میتوان رفتار دقیق Proxy و Backend را مشاهده کرد و از اختلاف آنها بهرهبرداری نمود.
روشهای کاهش و اصلاح آسیبپذیری CVE-2025-55315
۱. بهروزرسانی فوری فریمورکها
| مؤلفه | نسخه آسیبپذیر | نسخه امن |
|---|---|---|
| ASP.NET Core | < 8.0.3 | ≥ 8.0.3 |
| Kestrel | < 7.0.17 | ≥ 7.0.17 |
| IIS Middleware | قبل از اکتبر 2025 | پچ اکتبر 2025 |
برای بررسی نسخه فعلی:
dotnet --info
سپس آخرین نسخه را از Dotnet.Microsoft.com دریافت و نصب کنید.
۲. پیکربندی صحیح Reverse Proxy
در سرورهایی مثل Nginx یا Apache مطمئن شوید فقط یکی از روشهای Transfer-Encoding یا Content-Length مجاز باشد و درخواستهای ترکیبی مسدود شوند:
proxy_request_buffering on; ignore_invalid_headers on; chunked_transfer_encoding off;
۳. فعالسازی بررسی سختگیرانه در Kestrel
builder.WebHost.ConfigureKestrel(options =>
{
options.Limits.HttpRequestHeadersTimeout = TimeSpan.FromSeconds(10);
options.AllowResponseHeaderCompression = false;
});
۴. استفاده از WAF و پایش درخواستهای مشکوک
ابزارهایی مانند OWASP ModSecurity CRS یا Azure WAF میتوانند الگوهای شناختهشده Request Smuggling را شناسایی کنند.
- جلوگیری از وجود همزمان Transfer-Encoding و Content-Length
- مسدود کردن کاراکترهای غیرمجاز در Headerها (
\n\r, \x00)
چکلیست امنیتی مقابله با حملات Request Smuggling
| ردیف | کنترل امنیتی | هدف | وضعیت |
|---|---|---|---|
| 1 | بهروزرسانی نسخه ASP.NET Core و Kestrel | حذف نقص نرمافزاری شناختهشده | ☐ |
| 2 | غیرفعالسازی ترکیب Headerها در Proxy | جلوگیری از تزریق درخواست | ☐ |
| 3 | فعالسازی WAF با Ruleهای OWASP CRS | فیلتر درخواستهای مشکوک | ☐ |
| 4 | اجرای تست نفوذ هر ۶ ماه | اطمینان از عدم آسیبپذیری مجدد | ☐ |
اهمیت تست نفوذ در کشف نقصهای مشابه
آسیبپذیری CVE-2025-55315 نشان داد که حتی محیطهای امن نیز در مرز بین اجزا (Boundary Layers) دچار خطا میشوند. تنها تست نفوذ حرفهای قادر است رفتارهای غیرمنتظره بین Proxy و Backend را شناسایی کند.
سازمانهایی که فقط به بهروزرسانی ماهانه یا اسکن خودکار اکتفا میکنند، همچنان در معرض خطر قرار دارند. تست نفوذ منظم تضمین میکند که امنیت در سطح کد، پیکربندی، و ارتباطات شبکه حفظ شود.
جمعبندی
آسیبپذیری CVE-2025-55315 در فریمورک ASP.NET Core یکی از بحرانیترین تهدیدهای سال ۲۰۲۵ است. این نقص از نوع HTTP Request Smuggling بوده و باعث میشود مهاجمان بتوانند مسیر ارتباطی بین Proxy و Backend را دستکاری کنند. رفع این نقص تنها با نصب پچ مایکروسافت کافی نیست — باید تنظیمات امنیتی، پایش دقیق، و تست نفوذ منظم نیز انجام گیرد.
برای مطالعهی بیشتر در مورد امنیت وب و آسیبپذیریهای روز، به بخش امنیت وب روتنت مراجعه کنید.







دیدگاه ها بسته هستند