شعار منصة فورجوالي الرسمي - خدمات الرسائل والواتساب والاستضافة

تحديث عاجل لمستخدمي Geo Mashup: ثغرة SQL Injection تهدد قواعد بياناتك

ثغرة حقن SQL زمنية في إضافة Geo Mashup لـ WordPress تسمح للمهاجمين باستخراج بيانات حساسة. حدّث فوراً إلى الإصدار الأحدث من 1.13.18.

📅 استضافة المواقع

ثغرة حقن SQL زمنية في إضافة Geo Mashup لـ WordPress تسمح للمهاجمين باستخراج بيانات حساسة. حدّث فوراً إلى الإصدار الأحدث

كُشف عن ثغرة حقن SQL قائمة على الزمن (Time-Based SQL Injection) في إضافة Geo Mashup الشهيرة على WordPress تؤثر على جميع الإصدارات حتى 1.13.18. تسمح الثغرة للمهاجمين غير المصادقين باستخراج بيانات حساسة من قاعدة البيانات عبر معامل map_post_type. يُنصح مديرو السيرفرات وأصحاب المواقع بالتحديث الفوري، خاصةً عند تفعيل ميزة Geo Search.

⚠️ عالية · CVSS 7.5CVE-2026-4061 · CWE-89

التفاصيل التقنية للثغرة

تحمل الثغرة المعرّف CVE-2026-4061 وتُصنَّف ضمن فئة CWE-89 (Improper Neutralization of Special Elements used in an SQL Command). مصدر الخلل يقع في ملف SearchResults.php ضمن الـ hook الخاص بنتائج البحث، حيث يتم استدعاء الدالة stripslashes_deep($_POST) بشكل صريح، مما يُزيل طبقة الحماية التي يوفّرها WordPress عبر Magic Quotes.

بعد ذلك، تُمرَّر قيمة map_post_type دون أي تعقيم إلى عبارة IN(...) داخل استعلام SQL، وذلك دون استخدام esc_sql() أو $wpdb->prepare(). اللافت أن الفرع الخاص بالقيمة any في نفس الكود يطبّق بشكل صحيح array_map('esc_sql', ...)، بينما يغفل الفرع البديل (else branch) عن ذلك تماماً.

شرط الاستغلال الوحيد هو تفعيل ميزة Geo Search من إعدادات الإضافة، وهي ميزة مفعّلة في كثير من المواقع التي تعتمد الإضافة للخرائط التفاعلية.

CVE-2026-4061 - WordPress - رسم توضيحي أمني ثنائي الأبعاد
CVE-2026-4061 · WordPress · 2D Explainer

درجة الخطورة

حصلت الثغرة على تقييم CVSS 7.5 (HIGH)، ويُعزى ارتفاع هذا التقييم إلى:

  • إمكانية الاستغلال من قِبل مهاجم غير مصادَق (Unauthenticated) عبر الإنترنت.
  • تسريب بيانات حساسة من قاعدة البيانات مثل بيانات المستخدمين وكلمات المرور المُجزّأة (hashed passwords).
  • سهولة الأتمتة عبر أدوات مثل sqlmap نظراً لكونها Time-Based Blind.
  • عدم الحاجة إلى تفاعل من المستخدم (No User Interaction).

على مستوى استضافة المواقع، قد يؤدي استغلالها إلى ضغط كبير على خدمة MySQL/MariaDB بسبب استعلامات SLEEP() المتكررة، مما قد يتسبّب في بطء السيرفر أو توقف مؤقت للموقع.

هل تم استغلالها؟

حتى وقت نشر هذا التقرير، لم تُدرَج الثغرة ضمن قائمة KEV (Known Exploited Vulnerabilities) الصادرة عن CISA، ولم تُرصَد حملات استغلال واسعة. مع ذلك، فإن طبيعة الثغرة (Unauthenticated SQL Injection في إضافة WordPress) تجعلها هدفاً جذاباً لمنشئي البوتات وماسحات الثغرات الآلية، ومن المتوقع ظهور محاولات استغلال جماعية خلال فترة قصيرة من الإفصاح العلني.

الحل والإصلاح

الحل الرسمي هو التحديث إلى الإصدار الذي يتجاوز 1.13.18 والذي يتضمن التصحيح المرجعي في changeset/3503627.

1) التحقق من إصدار الإضافة المثبّتة عبر WP-CLI:

wp plugin get geo-mashup --field=version

2) تحديث الإضافة فوراً:

wp plugin update geo-mashup

3) إن لم يتوفر التحديث بعد، يمكن تعطيل الإضافة مؤقتاً كإجراء طارئ:

wp plugin deactivate geo-mashup

4) كحل وسيط، يمكن تعطيل ميزة Geo Search من لوحة الإعدادات لأن الاستغلال يتطلّب تفعيلها.

5) للكشف عن محاولات استغلال في سجلات Nginx/Apache:

grep -Ei "map_post_type.*(SLEEP|BENCHMARK|UNION|SELECT)" /var/log/nginx/access.log

6) إضافة قاعدة حماية على مستوى ModSecurity/WAF لحجب الحمولات المشبوهة في المعامل:

SecRule ARGS:map_post_type "@rx (?i)(sleep(|benchmark(|unions+select)" "id:1004061,phase:2,deny,status:403,msg:'Geo Mashup SQLi attempt'"

7) مراقبة استعلامات MySQL البطيئة التي قد تدل على استغلال ناجح:

tail -f /var/log/mysql/slow.log

الخلاصة والتوصية

تُمثّل هذه الثغرة تذكيراً بأهمية استخدام واجهات WordPress الآمنة للاستعلامات مثل $wpdb->prepare() بدلاً من الاعتماد على تعقيم يدوي قد يغفل فروعاً في الكود. نوصي مديري السيرفرات ومقدّمي خدمات الاستضافة بفرض التحديث التلقائي لإضافة Geo Mashup على جميع المواقع المستضافة، وتفعيل قواعد WAF للحدّ من محاولات الحقن الآلي، ومراقبة سجلات MySQL البطيئة لرصد أي نشاط غير طبيعي مرتبط بالمعامل map_post_type.

📎 ملفات التحميل

📄 English Security Advisory – تقرير احترافي للمختصين

📝 Technical README (Markdown) – وثائق تقنية للفرق الداخلية