آخرین اخبار
همهٔ اخبار
امنیت وب و نرم‌افزار گزارش بحرانیت ۵/۱۰

آسیب‌پذیری Stored XSS در کتابخانه AWS Amplify؛ خطر سرقت نشست کاربران

آسیب‌پذیری Stored XSS در کتابخانه AWS Amplify؛ خطر سرقت نشست کاربران

کتابخانه maplibre-gl-js-amplify یکی از ابزارهای متن‌باز در اکوسیستم AWS Amplify است که برای یکپارچه‌سازی Amazon Location Service با MapLibre GL JS جهت نمایش نقشه‌ها، نشانگرها (Markers)، پاپ‌آپ‌ها (Popups) و کنترل‌های محدوده جغرافیایی (Geofencing) در اپلیکیشن‌های وب استفاده می‌شود.

در بررسی‌های امنیتی اخیر، آسیب‌پذیری CVE-2026-121652 شناسایی شده است که از نوع Stored Cross-Site Scripting (XSS) می‌باشد. این نقص امنیتی در فرآیند رندرینگ پاپ‌آپ‌ها و کنترل‌های مربوط به Geofence وجود دارد. مشخص شده است که چندین مسیر کد، ویژگی‌های کنترل‌شده توسط کاربر در فایل‌های GeoJSON (مانند title، address و place_name) و همچنین شناسه‌های Geofence را مستقیماً و بدون پاک‌سازی (Sanitization) از طریق دستور innerHTML وارد DOM می‌کنند.

یک عامل تهدید می‌تواند با ذخیره کردن یک رکورد مکانی یا شناسه Geofence حاوی یک کد مخرب (HTML/JavaScript Payload)، باعث اجرای آن کد در مرورگر سایر کاربران شود؛ این اتفاق زمانی رخ می‌دهد که نشانگر نقشه یا لیست مربوط به Geofence رندر شود. در یک نشست (Session) احراز هویت شده، این آسیب‌پذیری می‌تواند منجر به حملاتی نظیر Session Hijacking (سرقت نشست) یا Data Exfiltration (استخراج داده‌ها) در سطح اپلیکیشن شود.

راهکار اصلاحی و توصیه‌ها

این مشکل در نسخه 4.0.3 کتابخانه maplibre-gl-js-amplify برطرف شده است. در این نسخه، یک ابزار کمکی به نام escapeHtml() اضافه شده که تمامی مقادیر کنترل‌شده توسط کاربر را پیش از ورود به DOM، پاک‌سازی می‌کند. توصیه می‌شود تمامی کاربران بلافاصله به آخرین نسخه ارتقا یافته و در صورت استفاده از کدهای Fork شده، آن‌ها را نیز اصلاح کنند.

از آنجایی که هیچ راهکار موقتی (Workaround) برای رفع کامل این مشکل وجود ندارد، ارتقا به نسخه 4.0.3 یا بالاتر الزامی است. به عنوان لایه‌های دفاعی اضافی (Defense in Depth)، پیشنهاد می‌شود اپلیکیشن‌هایی که امکان ارتقای فوری ندارند، تمامی داده‌های مکانی ورودی را اعتبارسنجی و پاک‌سازی کنند و همچنین از یک Content Security Policy (CSP) سخت‌گیرانه برای محدود کردن اثرات اسکریپت‌های تزریق شده استفاده نمایند.