Joomla iProperty Real Estate 4.1.1 contains a reflected cross-site scripting vulnerability that allows attackers to inject malicious scripts by manipulating the filter_keyword parameter. Attackers can craft URLs containing JavaScript payloads in the filter_keyword GET parameter of the all-properties-with-map endpoint to execute arbitrary code in victim browsers and steal session tokens or credentials.
Joomla iProperty Real Estate 4.1.1 contains a reflected XSS vulnerability in the filter_keyword parameter that allows attackers to inject malicious scripts and execute arbitrary code in victim browsers. This vulnerability can be exploited to steal session tokens, credentials, and sensitive user data without requiring authentication. The lack of available patches makes immediate mitigation through compensating controls essential for affected organizations.
IMMEDIATE ACTIONS:
1. Disable or restrict access to the all-properties-with-map endpoint until patching is available
2. Implement Web Application Firewall (WAF) rules to block requests containing JavaScript payloads in filter_keyword parameter
3. Add input validation rules: reject filter_keyword values containing <, >, ", ', script, javascript, onerror, onload patterns
COMPENSATING CONTROLS:
4. Deploy Content Security Policy (CSP) headers: Content-Security-Policy: default-src 'self'; script-src 'self'
5. Implement output encoding for all user-supplied input in search/filter functionality
6. Enable HTTP-only and Secure flags on session cookies to prevent JavaScript access
7. Deploy browser-based XSS protection headers: X-XSS-Protection: 1; mode=block
DETECTION:
8. Monitor WAF/IDS logs for filter_keyword parameters containing: script tags, event handlers (on*=), encoded payloads (%3c, %3e)
9. Alert on unusual session activity: multiple sessions from same user, geographic anomalies
10. Review access logs for all-properties-with-map endpoint for suspicious patterns
PATCHING:
11. Contact Joomla iProperty vendor for security updates; consider migration to patched version when available
12. Maintain inventory of all Joomla iProperty installations across organization
الإجراءات الفورية:
1. تعطيل أو تقييد الوصول إلى نقطة نهاية all-properties-with-map حتى يتوفر التصحيح
2. تطبيق قواعد جدار حماية تطبيقات الويب (WAF) لحجب الطلبات التي تحتوي على حمولات JavaScript في معامل filter_keyword
3. إضافة قواعد التحقق من الإدخال: رفض قيم filter_keyword التي تحتوي على <، >، "، '، script، javascript، onerror، onload
الضوابط البديلة:
4. نشر رؤوس سياسة أمان المحتوى (CSP): Content-Security-Policy: default-src 'self'; script-src 'self'
5. تطبيق ترميز الإخراج لجميع المدخلات المزودة من قبل المستخدم في وظائف البحث/التصفية
6. تفعيل أعلام HTTP-only و Secure على ملفات تعريف الجلسة لمنع وصول JavaScript
7. نشر رؤوس حماية XSS المستندة إلى المتصفح: X-XSS-Protection: 1; mode=block
الكشف:
8. مراقبة سجلات WAF/IDS لمعاملات filter_keyword التي تحتوي على: علامات script، معالجات الأحداث (on*=)، حمولات مشفرة (%3c، %3e)
9. تنبيهات على نشاط الجلسة غير العادي: جلسات متعددة من نفس المستخدم، شذوذ جغرافي
10. مراجعة سجلات الوصول لنقطة النهاية all-properties-with-map للأنماط المريبة
التصحيح:
11. الاتصال بمورد Joomla iProperty للحصول على تحديثات الأمان؛ النظر في الترقية إلى نسخة مصححة عند توفرها
12. الحفاظ على جرد لجميع تثبيتات Joomla iProperty عبر المنظمة