هشدار امنیتی FileRise؛ XSS ذخیرهشده با آپلود SVG

CVE-2025-68116 یک نقص «Cross-Site Scripting (XSS) ذخیرهشده» در FileRise (مدیر فایل تحتوب/WebDAV) است که در نسخههای قبل از ۲.۷.۱ رخ میدهد. منشأ مشکل، نحوه سرو فایلهای قابل رندر توسط مرورگر (خصوصاً SVG و در سطح ثانویه HTML) از طریق مسیرهای اشتراکگذاری و دانلود است؛ در نتیجه اگر مهاجم بتواند یک فایل دستکاریشده را روی نمونه FileRise ذخیره کند، با باز شدن لینک Share (و در برخی شرایط حتی از مسیر دانلود مستقیم) امکان اجرای JavaScript در مرورگر کاربر فراهم میشود. هرچند نسخه ۲.۷.۱ این نقص را رفع کرده است.
سال ۲۰۲۵ نشان داد بسیاری از رخدادهای امنیتی بزرگ، نه با «نفوذهای پیچیده»، بلکه با یک زنجیره ساده شروع میشوند: یک آپلود ظاهراً بیخطر، یک لینک اشتراکگذاری، و یک کلیک. نمونه تازه این الگو، آسیبپذیری CVE-2025-68116 در FileRise است؛ یک نرمافزار «self-hosted web file manager / WebDAV server» که در برخی سازمانها برای مدیریت و اشتراک فایلها، ارائه لینک دانلود و کاربریهای شبه «Drive» استفاده میشود. طبق اطلاعات ثبتشده در NVD، نسخههای پیش از ۲.۷.۱ در برابر Stored XSS آسیبپذیر هستند؛ زیرا فایلهایی که مرورگر میتواند آنها را رندر کند (بهویژه SVG) در زمان ارائه از طریق endpointهای اشتراکگذاری و دانلود، بهصورت ناامن مدیریت میشوند.
ماهیت آسیبپذیری: Stored XSS در «فایل قابل رندر»
برخلاف XSS بازتابی (Reflected) که معمولاً با یک پارامتر URL یا ورودی لحظهای فعال میشود، Stored XSS بهدلیل ماندگاری Payload در یک منبع ذخیرهشده، ریسک عملیاتی بیشتری دارد. در پرونده FileRise، «منبع ذخیرهشده» همان فایل آپلودشده است؛ بهخصوص فایل SVG که یک قالب تصویری/برداری است اما میتواند اسکریپت و رویدادهای تعاملی هم در خود داشته باشد. NVD توضیح میدهد مهاجم اگر بتواند یک SVG «crafted» (اصلی) یا HTML (ثانویه) را داخل نمونه FileRise ذخیره کند، با باز کردن لینک اشتراکگذاری تولیدشده توسط سیستم، امکان اجرای JavaScript در مرورگر قربانی ایجاد میشود.
از منظر فنی، نقطه شکست جایی است که سرویس، فایل آپلودی «قابل رندر» را طوری ارائه میکند که مرورگر آن را بهعنوان محتوای قابل نمایش/اجرا پردازش کند (Content-Type و رفتار مرورگر در تفسیر محتوا نقش کلیدی دارد). همین «رفتار مرورگر/Content-Type» در شرح NVD بهعنوان عامل تعیینکننده ذکر شده و توضیح میدهد که اثرگذاری مسیر دانلود مستقیم هم به همین رفتارها وابسته است.
مسیرهای درگیر: Share و Download
در گزارش NVD، دو مسیر مشخص بهعنوان نقاط اثرپذیر معرفی شدهاند:
- لینکهای اشتراکگذاری: /api/file/share.php
- دسترسی مستقیم/دانلود فایل: /api/file/download.php
در سناریوی غالب، قربانی روی «لینک share» کلیک میکند و مرورگر محتوای SVG را رندر میکند؛ در نتیجه اگر SVG شامل payload مخرب باشد، اجرای JavaScript رخ میدهد. NVD تصریح میکند که در «برخی موارد» این اجرا از مسیر دانلود مستقیم هم ممکن است؛ یعنی بسته به اینکه مرورگر فایل را دانلود کند یا آن را درون تب نمایش دهد و همچنین بسته به اینکه سرور چه نوع محتوایی (MIME) را ارسال کند.
سطح دسترسی و سناریوی حمله
این نقص در دسته CWE-79 (Improper Neutralization of Input During Web Page Generation) طبقهبندی شده است.
در عمل، برای تبدیل این نقص به رخداد واقعی، مهاجم باید «توانایی رساندن یک فایل دستکاریشده به مخزن FileRise» را داشته باشد. این توانایی میتواند از مسیرهای زیر حاصل شود:
- مهاجم کاربر مجاز سیستم است (کارمند/پیمانکار/کاربر مهمان) و مجوز آپلود دارد.
- مهاجم با روشهای مهندسی اجتماعی، یک فایل ظاهراً عادی را برای آپلود به فرد مجاز میرساند.
- نمونه FileRise طوری پیکربندی شده که آپلود از طریق WebDAV یا مسیرهای اشتراک فایل با کنترل ضعیف انجام میشود.
پس از ذخیره فایل، مهاجم کافی است لینک Share را برای قربانی ارسال کند یا قربانی را به باز کردن لینک ترغیب کند. نتیجه، اجرای کد در «کانتکست دامنه/مبدأ FileRise» است؛ یعنی میتواند به سرقت نشست (Session) در سناریوهای خاص، دسترسی به اطلاعات نمایشی، انجام درخواستهای ناخواسته از سمت کاربر (در حد مجاز مرورگر)، یا فریب UI برای دریافت دادههای حساس منجر شود. شدت دقیق پیامد به سیاستهای امنیتی مرورگر، تنظیمات Cookie (HttpOnly/SameSite)، CSP و نحوه پیادهسازی نشست در FileRise بستگی دارد—اما بهصورت پایه، XSS در سامانههای اشتراک فایل یک ریسک جدی برای «اعتماد لینکهای اشتراکگذاری» است.
نسخههای آسیبپذیر و نسخه اصلاحشده
طبق NVD، تمام نسخههای FileRise «پیش از ۲.۷.۱» آسیبپذیر هستند و نسخه ۲.۷.۱ مشکل را رفع میکند.
همچنین رکورد نشان میدهد این CVE از GitHub, Inc. به NVD ارسال شده و مرجع advisory هم یک GHSA برای همین پروژه است.
امتیازدهی و پیام مدیریتی
در NVD، امتیاز CVSS v3.1 از سوی CNA (GitHub) برابر ۸.۹ (High) ثبت شده است.
این امتیاز بالا با ماهیت «ذخیرهشده بودن» و «شبکهای بودن» حمله همخوانی دارد: کافی است فایل آپلود شود و یک لینک باز شود؛ و در بسیاری از سازمانها، لینک Share دقیقاً برای همین ساخته میشود که سریع و بدون اصطکاک باز شود. پیام مدیریتی روشن است: اگر FileRise در سازمان شما برای اشتراک فایل بین تیمها، مشتریان یا پیمانکاران استفاده میشود، هر لینک Share یک سطح تماس امنیتی است و باید همانقدر جدی گرفته شود که لینکهای پرتالها و داشبوردها.
اقدامهای ضروری و کنترلهای جبرانی
۱) ارتقا فوری به ۲.۷.۱
تنها راهکار قطعی، ارتقا به نسخه ۲.۷.۱ است؛ چون طبق NVD نسخه ۲.۷.۱ نقص را رفع کرده است.
۲) سختگیری روی آپلودهای قابل رندر
حتی پس از ارتقا، بهعنوان اصل دفاع در عمق:
- آپلود SVG و HTML را فقط برای نقشهای مشخص مجاز نمایید.
- اگر نیاز عملیاتی ندارید، SVG را مسدود یا به فرمت امنتر تبدیل نمایید (Rasterize).
- جدا کردن «دامنه ارائه فایل» از «دامنه پنل» (Domain Separation) ریسک حمله XSS را کاهش میدهد؛ چون حتی در صورت اجرا، دسترسی به Cookieهای پنل را محدود میکند.
۳) تنظیمات امنیتی مرورگر-محور
- اعمال CSP سختگیرانه در مسیرهای Share/Download (در حدی که محصول اجازه دهد).
- اطمینان از HttpOnly و SameSite برای Cookieهای نشست.
- اعمال X-Content-Type-Options: nosniff برای جلوگیری از تفسیر نوع محتوا بهصورت حدسی (در حد امکان محصول/وبسرور).
۴) پایش و پاسخگویی رخداد
- لاگبرداری دقیق از ایجاد Share Link و دانلود/بازدید فایلهای share شده.
- مانیتور رفتارهای غیرعادی مثل تولید تعداد زیاد لینک یا دسترسیهای پرتکرار به فایلهای SVG.
- بازبینی فایلهای آپلودی اخیر، خصوصاً اگر لینکهای share برای مخاطبان بیرونی صادر شده است.
جمعبندی
CVE-2025-68116 یک یادآوری جدی است که «مدیریت فایل تحتوب» فقط یک ابزار بهرهوری نیست؛ در عمل یک سطح حمله عمومی با وابستگی مستقیم به رفتار مرورگر است. هرجا فایلهای قابل رندر به کاربر تحویل داده میشوند، باید فرض کرد مهاجم تلاش میکند «فایل را به کد» تبدیل کند. با ارتقا به FileRise ۲.۷.۱، محدودسازی SVG/HTML، و جداسازی مسیر ارائه فایل از پنل مدیریتی، میتوان این ریسک را بهصورت معنادار کاهش داد.
3بازدید
