Projectsend r1295 contains a stored cross-site scripting vulnerability that allows authenticated attackers to inject malicious scripts by submitting crafted input in the 'name' parameter of files-edit.php. Attackers can inject JavaScript payloads through the file name field that execute in the browser when the file is viewed by other users, particularly affecting System Administrator users on the Dashboard page.
CVE-2021-47947 is a stored XSS vulnerability in ProjectSend r1295 affecting the file name parameter in files-edit.php. Authenticated attackers can inject malicious JavaScript that executes when other users, particularly administrators, view files on the Dashboard. With no available patch and medium CVSS score of 6.4, this poses a significant risk to organizations using ProjectSend for secure file sharing, especially in Saudi government and enterprise environments.
Immediate Actions:
1. Audit all ProjectSend instances in your environment and identify version r1295 deployments
2. Review file names in the system for suspicious JavaScript patterns (e.g., <script>, onerror=, onclick=)
3. Restrict file upload and editing permissions to trusted users only
4. Implement Web Application Firewall (WAF) rules to block XSS payloads in file name parameters
Compensating Controls:
1. Deploy input validation: sanitize and validate all file name inputs, removing or encoding special characters (<, >, ", ', etc.)
2. Implement Content Security Policy (CSP) headers to prevent inline script execution
3. Enable HTTP-only and Secure flags on session cookies
4. Apply output encoding when displaying file names in HTML context
5. Restrict Dashboard access to authorized administrators only via IP whitelisting
Detection Rules:
1. Monitor files-edit.php for POST requests containing encoded script tags or event handlers in the 'name' parameter
2. Alert on file names containing: <script>, javascript:, onerror=, onclick=, onload=
3. Log and review all file edits by administrative accounts
4. Implement SIEM rules to detect multiple failed file access attempts followed by successful admin access
Long-term:
1. Migrate to actively maintained file-sharing solutions with security updates
2. Upgrade ProjectSend to latest patched version when available
3. Implement regular security code reviews for custom file-sharing implementations
الإجراءات الفورية:
1. تدقيق جميع حالات ProjectSend في بيئتك وتحديد نشرات الإصدار r1295
2. مراجعة أسماء الملفات في النظام بحثاً عن أنماط JavaScript المريبة (مثل <script>، onerror=، onclick=)
3. تقييد أذونات تحميل وتحرير الملفات للمستخدمين الموثوقين فقط
4. تنفيذ قواعد جدار حماية تطبيقات الويب (WAF) لحظر حمولات XSS في معاملات أسماء الملفات
الضوابط التعويضية:
1. نشر التحقق من الإدخال: تطهير والتحقق من صحة جميع مدخلات أسماء الملفات، وإزالة أو ترميز الأحرف الخاصة
2. تنفيذ رؤوس سياسة أمان المحتوى (CSP) لمنع تنفيذ البرامج النصية المضمنة
3. تفعيل علامات HTTP-only و Secure على ملفات تعريف الجلسة
4. تطبيق ترميز الإخراج عند عرض أسماء الملفات في سياق HTML
5. تقييد الوصول إلى لوحة التحكم للمسؤولين المصرح لهم فقط عبر القائمة البيضاء للعناوين
قواعد الكشف:
1. مراقبة files-edit.php للطلبات التي تحتوي على علامات نصية مشفرة أو معالجات أحداث في معامل 'name'
2. التنبيه على أسماء الملفات التي تحتوي على: <script>، javascript:، onerror=، onclick=، onload=
3. تسجيل ومراجعة جميع تعديلات الملفات بواسطة حسابات إدارية
4. تنفيذ قواعد SIEM للكشف عن محاولات وصول متعددة فاشلة متبوعة بوصول إداري ناجح
المدى الطويل:
1. الهجرة إلى حلول مشاركة الملفات المدعومة بنشاط مع تحديثات الأمان
2. ترقية ProjectSend إلى أحدث إصدار مصحح عند توفره
3. تنفيذ مراجعات أمان منتظمة للكود لتطبيقات مشاركة الملفات المخصصة