یک آسیبپذیری امنیتی از نوع Cross-Site Scripting (XSS) در نرمافزار Changedetection.io (تا نسخه 0.55.8) شناسایی شده است. این نقص امنیتی در تابع setCurrentSelectedText در فایل visual-selector.js و در بخش Visual Selector رخ میدهد.
جزئیات فنی و مکانیسم حمله
این آسیبپذیری از نوع Stored XSS است و زمانی رخ میدهد که یک صفحه وب تحت نظارت (Monitored Page) توسط مهاجم کنترل شود. از آنجایی که رشتههای مربوط به Selector به جای استفاده از متدهای متنی، از طریق innerHTML در DOM نوشته میشوند، مهاجم میتواند کدهای مخرب را در رابط کاربری Visual Selector تزریق کند.
شرایط بهرهبرداری (Exploitation)
- مهاجم باید کنترل یکی از صفحات وب مورد نظارت را در اختیار داشته باشد.
- یک کاربر احرازهویت شده (Authenticated User) باید آن صفحه خاص را به لیست نظارتهای خود اضافه کند.
- کاربر قربانی باید ابزار Visual Selector را برای آن صفحه باز کند تا کد تزریق شده در مرورگر او اجرا شود.
با توجه به این شرایط، تأثیر این حمله محدود به نشست (Session) مرورگر کاربر قربانی است و تأثیری بر در دسترس بودن سرویس (Availability) یا تغییر سطح دسترسی (Scope Change) ندارد.
راهکار رفع آسیبپذیری
برای رفع این مشکل، توصیه میشود تمامی کاربران سریعاً نرمافزار خود را به نسخه 0.60.1 یا نسخههای جدیدتر بهروزرسانی کنند. این اصلاحیه در پچ aac6fcfa594f17511b8ff73e5eaa4f6c33899de0 اعمال شده است.