The SP Project & Document Manager plugin for WordPress is vulnerable to unauthorized access due to a missing capability check on the view_file function in all versions up to, and including, 4.71. This makes it possible for unauthenticated attackers to read file metadata and obtain download links for arbitrary files stored inside project folders on the server, which can contain sensitive information. The authorization gate uses a negated nonce check OR-chained with permission checks, meaning a missing or invalid nonce causes the entire condition to evaluate to true and bypass all preceding capability and ownership checks. The secondary fallback check only denies access for root-level files (pid == 0), leaving all files stored inside project folders fully exposed to unauthenticated users who supply only a valid file ID in a POST request to admin-ajax.php.
CVE-2026-10737 is a critical authorization bypass vulnerability in the SP Project & Document Manager WordPress plugin (versions ≤4.71) that allows unauthenticated attackers to access arbitrary file metadata and download links through a flawed nonce validation logic. The vulnerability affects all files stored in project folders, potentially exposing sensitive business documents, contracts, and confidential data. With no patch currently available and no exploit publicly disclosed, organizations using this plugin face immediate risk of data exfiltration.
IMMEDIATE ACTIONS:
1. Disable the SP Project & Document Manager plugin immediately until a patch is released
2. If disabling is not possible, restrict access to admin-ajax.php to authenticated users only via .htaccess or WAF rules
3. Audit server logs for POST requests to admin-ajax.php with action=view_file parameters from unauthenticated sources
4. Identify and secure all files previously accessible through this vulnerability
DETECTION RULES:
- Monitor POST requests to /wp-admin/admin-ajax.php containing 'action=view_file' parameter
- Alert on requests with missing or invalid nonce values combined with file ID parameters
- Flag any unauthenticated access attempts to document retrieval functions
- Review access logs for patterns of sequential file ID enumeration
COMPENSATING CONTROLS:
1. Implement Web Application Firewall (WAF) rules to block admin-ajax.php POST requests from non-authenticated sessions
2. Apply strict file permissions (644 or more restrictive) on project folders
3. Move sensitive project folders outside web root if possible
4. Implement additional authentication layer via reverse proxy or API gateway
5. Enable comprehensive logging and SIEM monitoring for document access attempts
PATCHING GUIDANCE:
- Monitor plugin repository for security update (currently unavailable)
- Consider alternative document management solutions with proper authorization controls
- If update becomes available, test in staging environment before production deployment
الإجراءات الفورية:
1. قم بتعطيل إضافة SP Project & Document Manager فوراً حتى يتم إصدار تصحيح
2. إذا كان التعطيل غير ممكن، قيد الوصول إلى admin-ajax.php للمستخدمين المصرحين فقط عبر .htaccess أو قواعد WAF
3. قم بفحص سجلات الخادم للبحث عن طلبات POST إلى admin-ajax.php مع معاملات view_file من مصادر غير مصرحة
4. حدد وأمّن جميع الملفات التي كانت يمكن الوصول إليها من خلال هذه الثغرة
قواعد الكشف:
- راقب طلبات POST إلى /wp-admin/admin-ajax.php التي تحتوي على معامل 'action=view_file'
- أصدر تنبيهات للطلبات التي تحتوي على قيم nonce مفقودة أو غير صحيحة مع معاملات معرف الملف
- علّم أي محاولات وصول غير مصرحة لوظائف استرجاع المستندات
- راجع سجلات الوصول للبحث عن أنماط تعداد معرف الملف المتسلسل
الضوابط البديلة:
1. تطبيق قواعد جدار الحماية (WAF) لحجب طلبات POST إلى admin-ajax.php من جلسات غير مصرحة
2. تطبيق أذونات ملفات صارمة (644 أو أكثر تقييداً) على مجلدات المشاريع
3. نقل مجلدات المشاريع الحساسة خارج جذر الويب إن أمكن
4. تطبيق طبقة مصادقة إضافية عبر reverse proxy أو API gateway
5. تفعيل السجلات الشاملة ومراقبة SIEM لمحاولات الوصول إلى المستندات
إرشادات التصحيح:
- راقب مستودع الإضافات للحصول على تحديث أمني (غير متاح حالياً)
- فكر في حلول إدارة المستندات البديلة مع ضوابط تفويض مناسبة
- إذا أصبح التحديث متاحاً، اختبره في بيئة التجريب قبل نشره في الإنتاج