The MapPress Maps for WordPress plugin for WordPress is vulnerable to Authorization Bypass Through User-Controlled Key in all versions up to, and including, 2.96.6. This is due to missing ownership verification in the REST API routes registered via `Mappress_Api::rest_api_init()`, where the GET `/wp-json/mapp/v1/maps/{mapid}` endpoint uses `'permission_callback' => '__return_true'` and the write endpoints (POST update, DELETE, PATCH mutate, POST clone, POST empty_trash) only check the generic `edit_posts` capability without confirming that the requester owns the targeted map — a gap that is not compensated at the model layer, as `Mappress_Map::get()`, `save()`, `delete()`, `mutate()`, and `empty_trash()` all operate on any caller-supplied map ID without an ownership check. This makes it possible for unauthenticated attackers to read sensitive map data — including POI titles, addresses, coordinates, and body content — for any map on the site by enumerating map IDs, and for authenticated attackers with Contributor-level access and above to modify, delete, trash/restore, or clone any map regardless of its author.
MapPress Maps for WordPress plugin versions up to 2.96.6 contain an authorization bypass vulnerability in REST API endpoints that allows unauthenticated attackers to read sensitive map data through ID enumeration and authenticated users to modify or delete maps they don't own. The vulnerability stems from missing ownership verification in both API permission callbacks and model-layer operations. With a CVSS score of 5.3 and no patch currently available, organizations using this plugin should immediately implement compensating controls.
IMMEDIATE ACTIONS:
1. Disable the MapPress Maps plugin immediately until a patch is available: wp-cli plugin deactivate mappress-google-maps-for-wordpress
2. If the plugin is critical, restrict REST API access to authenticated users only via .htaccess or web application firewall rules
3. Audit all maps created in the past 90 days to identify sensitive data exposure
4. Review REST API access logs for suspicious enumeration patterns (sequential map ID requests)
COMPENSATING CONTROLS:
1. Implement REST API authentication requirement: Add filter to require authentication for all /wp-json/mapp/v1/ endpoints
2. Apply capability restrictions: Modify plugin code to verify map ownership before any read/write operation
3. Disable REST API for this plugin: Add to wp-config.php: define('REST_API_ENABLED', false) for mapp routes
4. Use Web Application Firewall (WAF) rules to block sequential map ID enumeration attempts
5. Implement rate limiting on REST API endpoints
DETECTION RULES:
1. Monitor WordPress logs for: GET /wp-json/mapp/v1/maps/ requests from unauthenticated users
2. Alert on: POST/DELETE/PATCH requests to /wp-json/mapp/v1/maps/ from users without map ownership
3. Flag: Rapid sequential requests to /wp-json/mapp/v1/maps/{1,2,3,4...} indicating enumeration
4. Track: Unusual modification timestamps on maps by non-owner accounts
PATCHING GUIDANCE:
1. Monitor MapPress plugin repository for security update (currently no patch available)
2. Subscribe to WordPress security mailing list for CVE-2026-8839 patch notification
3. When patch is released, test in staging environment before production deployment
4. Plan immediate update deployment with rollback procedure
الإجراءات الفورية:
1. قم بتعطيل مكون MapPress Maps فوراً حتى يتوفر تصحيح: wp-cli plugin deactivate mappress-google-maps-for-wordpress
2. إذا كان المكون حرجاً، قم بتقييد وصول REST API للمستخدمين المصرحين فقط عبر .htaccess أو قواعد جدار الحماية
3. قم بمراجعة جميع الخرائط التي تم إنشاؤها في آخر 90 يوماً لتحديد تسرب البيانات الحساسة
4. راجع سجلات وصول REST API للبحث عن أنماط تعداد مريبة (طلبات معرف الخريطة المتسلسلة)
عناصر التحكم التعويضية:
1. تنفيذ متطلبات المصادقة لـ REST API: أضف مرشح لمطالبة المصادقة لجميع نقاط نهاية /wp-json/mapp/v1/
2. تطبيق قيود القدرات: عدّل كود المكون للتحقق من ملكية الخريطة قبل أي عملية قراءة/كتابة
3. تعطيل REST API للمكون: أضف إلى wp-config.php: define('REST_API_ENABLED', false) لمسارات mapp
4. استخدم قواعد جدار حماية تطبيقات الويب (WAF) لحظر محاولات تعداد معرف الخريطة المتسلسلة
5. تنفيذ تحديد معدل على نقاط نهاية REST API
قواعد الكشف:
1. مراقبة سجلات WordPress للبحث عن: طلبات GET /wp-json/mapp/v1/maps/ من مستخدمين غير مصرحين
2. تنبيه عند: طلبات POST/DELETE/PATCH إلى /wp-json/mapp/v1/maps/ من مستخدمين بدون ملكية الخريطة
3. وضع علم على: طلبات متسلسلة سريعة إلى /wp-json/mapp/v1/maps/{1,2,3,4...} تشير إلى التعداد
4. تتبع: طوابع زمنية تعديل غير عادية على الخرائط بواسطة حسابات غير المالك
إرشادات التصحيح:
1. مراقبة مستودع مكون MapPress للحصول على تحديث أمان (لا يوجد تصحيح متاح حالياً)
2. الاشتراك في قائمة بريد أمان WordPress للحصول على إشعار تصحيح CVE-2026-8839
3. عند إصدار التصحيح، اختبره في بيئة التدريج قبل نشره في الإنتاج
4. خطط لنشر التحديث الفوري مع إجراء التراجع