خانه » CVE-2025-55476

CVE-2025-55476

Time-Based Blind SQL Injection in FireShare FileShare 1.2.25 Public Videos API

توسط Vulnerbyte Alerts
5 بازدید
هشدار سایبری CVE-2025-55476

چکیده

آسیب‌پذیری در FireShare نسخه 1.2.25 مربوط به پارامتر sort از اندپوینت GET /api/videos/public است. ورودی این پارامتر بدون پاک‌سازی وارد بند ORDER BY در کوئری SQL می‌شود و امکان اجرای Time‑based Blind SQL Injection را فراهم می‌کند. در نتیجه، مهاجم بدون نیاز به احراز هویت می‌تواند با اندازه‌گیری زمان پاسخ، به‌تدریج اطلاعات حساس مانند نام‌کاربری‌ را استخراج کند.

توضیحات

آسیب‌پذیری CVE-2025-55476 در نرم‌افزار FireShare FileShare، یک ابزار اشتراک‌گذاری فایل، ناشی از عدم اعتبارسنجی و پاک‌سازی مناسب پارامتر sort در اندپوینت GET /api/videos/public است که مطابق با CWE-89 طبقه‌بندی می‌شود. این ضعف امنیتی در نسخه 1.2.25 وجود دارد و ورودی کاربر بدون اعتبار سنجی مناسب مستقیماً به بند ORDER BY کوئری SQL تزریق می‌شود.

کوئری آسیب‌پذیر به صورت SELECT * FROM video JOIN … WHERE … ORDER BY <user_input> است و به مهاجم اجازه می‌دهد subqueryهای دلخواه تزریق کند. این ضعف از نوع blind SQL injection است.

مهاجم با ارسال پیلودهایی که در صورت برقرار بودن شرط، باعث تأخیر در پاسخ می‌شوند، به‌صورت کاراکتر-به-کاراکتر داده‌های حساس نام‌کاربری‌ها، ایمیل‌ها، احتمالاً هش‌های رمز عبور و فهرست جدول ها یا ستون‌ها را استنتاج و استخراج می‌کند؛ برای مثال، در پیلود نمونه زیر، اگر کاراکتر اول برابر با ‘a’ باشد، تأخیر ایجاد می‌شود.

(SELECT CASE WHEN substr((SELECT username FROM user LIMIT 1 OFFSET 0), 1, 1) = ‘a’ THEN randomblob(100000000) ELSE ‘a’ END)

این ضعف از طریق شبکه با پیچیدگی پایین ، بدون نیاز به دسترسی و تعامل کاربر قابل بهره‌برداری بوده و باعث نقض محدود محرمانگی و یکپارچگی می شود. شدت آسیب پذیری نشان دهنده ریسک متوسط اما جدی برای استخراج داده‌های حساس است. کد اثبات‌مفهومی (PoC) به‌صورت عمومی در GitHub (issue #311) منتشر شده است. این PoC از پیلودهای زمان‌محور مبتنی بر CASE WHEN و substr همراه با توابعِ ایجاد تأخیر مثلاً randomblob استفاده می‌کند و با اندازه‌گیری تأخیر توانسته وجود حساب ‘admin’ را تأیید نماید. این آسیب پذیری در نسخه 1.2.26 پچ شده است.

CVSS

Score Severity Version Vector String
6.5 MEDIUM 3.1 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N

 لیست محصولات آسیب پذیر

Versions Product
1.2.25 FireShare FileShare

لیست محصولات بروز شده

Versions Product
1.2.26 FireShare FileShare

 نتیجه گیری

این آسیب‌پذیری در FireShare FileShare به دلیل Blind SQL Injection در پارامتر sort، می‌تواند استخراج اطلاعات حساس مانند نام‌کاربری‌ها را امکان‌پذیر کند. با توجه به انتشار پچ رسمی، اجرای فوری اقدامات زیر ضروری است:

  • به‌روزرسانی نرم‌افزار: بلافاصله به نسخه 1.2.26 یا بالاتر به روزرسانی کنید تا اصلاحات مربوط به فهرست مجاز (whitelisting) و کوئری‌های پارامتری (parameterized queries) اعمال شود.
  • اعتبارسنجی ورودی: sort را به لیست مجاز ستون‌ها مانند title, date محدود کنید و از ORM-safe functions مانند SQLAlchemy استفاده نمایید: if sort in allowed_columns: query = query.order_by(getattr(Model, sort)).
  • نظارت و محدودسازی نرخ درخواست: برای اندپوینت /api/videos/public محدودیت نرخ (rate limiting) اعمال کنید و لاگ‌های سرور را برای الگوهای مشکوک مانند randomblob، substr یا CASE WHEN بررسی نمایید.
  • فایروال اپلیکیشن وب (WAF): قوانین WAF برای مسدود کردن الگوهای تزریق SQL مانند randomblob یا SELECT CASE WHEN اضافه کنید.
  • اسکن امنیتی: با ابزارهای تست نفوذ و اسکن مانند SQLMap یا OWASP ZAP سیستم را اسکن کنید تا آسیب‌پذیری‌های مشابه شناسایی و رفع شوند.
  • آموزش و آگاهی: توسعه‌دهندگان و مدیران را در مورد ریسک SQL Injection آگاه سازید.

اجرای این اقدامات ریسک استخراج داده‌های حساس را به حداقل رسانده و امنیت اندپوینت های API را در برابر حملات تزریق SQL تقویت می‌کند.

امکان استفاده در تاکتیک های Mitre Attack

Initial Access (TA0001)
ورودی sort در اندپوینت عمومی GET /api/videos/public به‌صورت مستقیم وارد بند ORDER BY کوئری SQL می‌شود؛ این بردار دسترسی‌ای عمومی فراهم می‌کند که مهاجم بدون احراز هویت می‌تواند با ارسال پیلودهای زمان‌محور بهره‌برداری را آغاز کند

Collection (TA0009)
استفاده از time-based blind SQLi امکانِ استخراج قطعات داده (نام‌کاربری‌ها، ایمیل‌ها، هش‌ها، فهرست جدول‌ها/ستون‌ها) را می‌دهد؛ مهاجم می‌تواند کاراکتر‌به‌کاراکتر مقادیر حساس را جمع‌آوری کند.

Discovery (TA0007)
پرس‌وجوهای زمان‌محور به مهاجم اجازه می‌دهد ساختار پایگاه‌داده و وجود حساب‌های کلیدی را استنتاج کند که برد حمله را افزایش می‌دهد.

Credential Access (TA0006)
مهاجم می‌تواند هش‌های رمز را استخراج کند و در صورت ضعیف بودن الگوریتم یا کلمه‌عبور ضعیف، آنها را آفلاین کرک نماید

Defense Evasion (TA0005)
حملات time-based و پیلودهای پراکنده به مهاجم امکان می‌دهد از شناسایی مبتنی‌بر امضا فرار کند؛ این حملات کند و کم‌نوسان‌اند و تشخیصشان دشوار است.

Lateral Movement (TA0008)
در صورت کرک شدن اعتبارها یا استخراج موفقِ اطلاعات، مهاجم می‌تواند به سرویس‌ها یا بخش‌های دیگر حرکت کند و دامنه تهدید را گسترش دهد

Impact (TA0040)
این ضعف می‌تواند محرمانگی را با افشای نام‌کاربری، ایمیل و هش‌ها نقض کند، یکپارچگی را با توانایی درج زیرکوئری‌های مخرب به خطر اندازد و دسترس‌پذیری را از طریق پیلودهای زمان‌محور کند یا مختل کند

منابع

  1. https://www.cve.org/CVERecord?id=CVE-2025-55476
  2. https://www.cvedetails.com/cve/CVE-2025-55476/
  3. https://github.com/ShaneIsrael/fireshare/issues/311
  4. https://github.com/ShaneIsrael/fireshare/releases/tag/v1.2.26
  5. https://vulmon.com/vulnerabilitydetails?qid=CVE-2025-55476
  6. https://vuldb.com/?id.322220
  7. https://cyber-ducky.com/blind-sql-injection-in-fireshare-found-in-an-api-sort-parameter/
  8. https://nvd.nist.gov/vuln/detail/CVE-2025-55476
  9. https://cwe.mitre.org/data/definitions/89.html

همچنین ممکن است دوست داشته باشید

پیام بگذارید

send
سوالی دارید؟
می تونید از من بپرسید 👋 ×