@astrojs/node: Backslash-prefixed paths not recognized as internal by trailing-slash redirect
خلاصه سریع
اصل خبر در چند خط
آسیبپذیری جدیدی در `@astrojs/node` کشف شد که در آن مسیرهای شروعشده با بکاسلش (`\`) در صورت فعال بودن `trailingSlash: 'always'` بهدرستی شناسایی نمیشوند.
سرور در این حالت ریدایرکت ۳۰۱ با مسیر خام صادر میکند که میتواند توسط مرورگرها به میزبان خارجی حل شود.
این مشکل تحت شرایط خاصی مانند عدم وجود پسوند فایل در مسیر و تحویل لینک توسط مهاجم رخ میدهد.
راهحل شامل اصلاح تابع `isInternalPath()` و استفاده از تنظیم پیشفرض `trailingSlash: 'ignore'` است.
نسخه اصلاحشده `@astrojs/node@11.0.2` منتشر شده است.
متن خبر
شرح خبر
یک آسیبپذیری امنیتی در سرور مستقل `@astrojs/node` شناسایی شد که در صورت پیکربندی `trailingSlash: 'always'`، مسیرهای شروعشده با کاراکتر `\` (بکاسلش) بهدرستی بهعنوان مسیرهای داخلی شناخته نمیشوند.
این موضوع باعث میشود سرور در پاسخ به درخواستها، یک ریدایرکت ۳۰۱ با مسیر خام در هدر `Location` صادر کند.
از آنجایی که مرورگرها طبق مشخصات URL WHATWG، کاراکتر بکاسلش (`\`) را معادل اسلش (`/`) در نظر میگیرند، این ریدایرکت میتواند به میزبان خارجی حل شود و خطرات امنیتی مانند حمله فیشینگ یا هدایت کاربر به سایتهای مخرب را به همراه داشته باشد.
این آسیبپذیری تحت شرایط خاصی مانند فعال بودن تنظیم `trailingSlash: 'always'`، عدم وجود پسوند فایل در بخش نهایی مسیر و تحویل لینک دستکاریشده توسط مهاجم رخ میدهد.
راهکار پیشنهادی، اصلاح تابع `isInternalPath()` برای شناسایی مسیرهای شروعشده با بکاسلش مشابه مسیرهای شروعشده با `//` و همچنین استفاده از تنظیم پیشفرض `trailingSlash: 'ignore'` است.
این صفحه خلاصه و تحلیل فارسی خبر را نمایش میدهد. نسخه کامل/اصلی از طریق لینک منبع در دسترس است.
تحلیل تحریریه
ابعاد مهم خبر
چرا مهم است؟
این آسیبپذیری میتواند توسط مهاجم برای هدایت کاربران به سایتهای مخرب یا انجام حملات فیشینگ مورد سوءاستفاده قرار گیرد.
از آنجایی که مرورگرها بکاسلش را معادل اسلش تفسیر میکنند، ریدایرکتهای صادرشده میتوانند به دامنههای خارجی اشاره کنند و امنیت کاربران را به خطر اندازند.
علاوه بر این، این مشکل نشاندهنده اهمیت بررسی دقیق رفتار سرور در مواجهه با کاراکترهای خاص در مسیرها و لزوم رعایت استانداردهای URL مانند WHATWG است.
اثر کسبوکاری
این آسیبپذیری میتواند منجر به از دست رفتن اعتماد کاربران، حملات فیشینگ و آسیب به شهرت برند شود.
شرکتهایی که از `@astrojs/node` با پیکربندی `trailingSlash: 'always'` استفاده میکنند، ممکن است در معرض خطرات امنیتی قرار گیرند و نیاز به بهروزرسانی فوری داشته باشند.
اثر احتمالی برای ایران
توسعهدهندگان و شرکتهای ایرانی که از فریمورک Astro و سرور `@astrojs/node` استفاده میکنند، باید نسبت به این آسیبپذیری آگاه باشند و اقدامات لازم برای بهروزرسانی و اصلاح پیکربندی را انجام دهند.
عدم توجه به این موضوع میتواند منجر به سوءاستفاده از سایتهای ایرانی توسط مهاجمین شود.
ارتباط با LegalTech
این آسیبپذیری ممکن است تحت قوانین حفاظت از دادهها و حریم خصوصی قرار گیرد، بهویژه اگر منجر به افشای اطلاعات حساس کاربران شود.
شرکتها موظفند اقدامات فوری برای رفع این مشکل انجام دهند تا از پیگرد قانونی جلوگیری کنند.
زاویه رسانه/کشور منبع
GitHub Advisory Database بهعنوان منبع رسمی گزارش آسیبپذیریهای امنیتی، این خبر را منتشر کرده است.
این منبع از اعتبار بالایی برخوردار است و اطلاعات دقیق و فنی را در اختیار توسعهدهندگان قرار میدهد.
پوشش چند منبعی
این خبر در منابع دیگر
آسیبپذیری بحرانی در کتابخانه body-parser: حمله انکار سرویس به دلیل غیرفعال شدن خاموش محدودیت اندازهGitHub Advisory Database · US · enمشاهده در سایت