باحث أمني عربي يكتشف 3 ثغرات في Rank Math SEO
عندما نسمع عن اكتشاف ثغرة أمنية، غالبًا ما نتخيل أنها موجودة في كود قديم لم يقترب منه أحد منذ سنوات. لكن وعلى عكس التوقّع السائد، فكثير من الثغرات تظهر عادةً في ميزات أُضيفت حديثًا، كونها لم تحصل بعد على القدر الكافي من المراجعة والاختبار. فالكود القديم يكون قد مرّ على عدد كبير من المطورين والباحثين الأمنيين، بينما تفتح الميزات الجديدة مساحة أكبر لظهور أخطاء لم ينتبه إليها أحد.
وهذا ما حدث مع إضافة Rank Math SEO، التي أضافت مؤخرًا دعمًا لواجهة Abilities API، وهي واجهة حديثة في ووردبريس تتيح للأدوات الخارجية وأنظمة الأتمتة، بما فيها أدوات الذكاء الاصطناعي، تنفيذ مهام داخل الموقع بطريقة منظمة.
ومع إضافة هذه الواجهة، ظهرت طرق جديدة للوصول إلى بعض وظائف الإضافة. ولم تتضمن جميع هذه الطرق فحوصات الصلاحيات الموجودة في المسارات القديمة، ما سمح لمستخدمين بتنفيذ عمليات تتجاوز حدود أدوارهم.
وتكمن أهمية هذه الثغرات في انتشار Rank Math على ملايين المواقع، واعتماد أصحاب المواقع عليها لإدارة العناوين والأوصاف وإعدادات الفهرسة التي تؤثر بشكل مباشر في ظهور صفحاتهم بمحركات البحث.
الثغرة الأولى | محرّر يستطيع تغيير إعدادات مخصصة للمدير"CVE-2026-77786"
تفويض غير صحيح: تسمح هذه الثغرة لمستخدم يمتلك صلاحية Editor (محرّر) باستدعاء وظيفة الإصلاح التلقائي لمشكلات SEO، وإجراء تغييرات على إعدادات أساسية في Wordpress يُفترض أن يقتصر تعديلها على المدير.
حدثت المشكلة لأن الإضافة لم تكن تتحقق من امتلاك المستخدم الصلاحية المطلوبة لكل إعداد يجري تغييره أثناء عملية الإصلاح. وبالتالي، كان بإمكان المحرّر تشغيل الوظيفة وتنفيذ تعديلات تتجاوز الصلاحيات الممنوحة له داخل الموقع.
لتوضيح التأثير، تخيّل أنك منحت أحد المتعاونين صلاحية محرّر ليتمكن من إدارة المقالات. هذه الصلاحية لا يفترض أن تمنحه التحكم في إعدادات الموقع الأساسية، لكن الثغرة كانت تتيح له التأثير فيها من خلال وظيفة الإصلاح التلقائي.
وقد تصبح المشكلة أكثر خطورة إذا استُغلت عبر حساب محرّر مخترق، خاصةً أن التغييرات المتعلقة بإعدادات SEO قد تمر دون ملاحظة، ولا تظهر آثارها إلا لاحقًا عند تراجع أداء الموقع في نتائج البحث.
الثغرة الثانية | الوصول إلى مسودات مستخدمين آخرين "CVE-2026-77785"
تجاوز التفويض باستخدام معرّف يتحكم به المستخدم: تتيح الثغرة الثانية لمستخدم يمتلك دور Author (كاتب) أو أعلى قراءة عناوين ومحتوى وبيانات منشورات غير منشورة، حتى عندما تكون مملوكة لمستخدمين آخرين.
المشكلة كانت في إحدى الوظائف المتاحة عبر Abilities API، حيث تستقبل معرّف المنشور وتعيد بياناته دون التأكد من أن المستخدم يمتلك صلاحية الاطلاع على هذا المنشور تحديدًا. وبذلك، كان يكفي تمرير رقم المنشور للحصول على محتواه، حتى لو كان مسودة لا يملك المستخدم حق الوصول إليها.
قد لا يبدو الأمر شديد الخطورة في موقع صغير، لكنه يختلف تمامًا في المواقع الإخبارية والشركات التي تعمل على محتوى لم يحن موعد نشره. فتخيّل معي موقعًا إخباريًا يُحضّر تحقيقًا حصريًا، أو شركة تستعد للإعلان عن منتج جديد. في الحالتين، يمكن أن يؤدي الوصول إلى المسودات إلى كشف معلومات قبل موعدها المحدد.
ورغم أن الثغرة حصلت على تصنيف منخفض من حيث الخطورة، إلا أن الضرر المحتمل يعتمد على طبيعة المعلومات التي يمكن الوصول إليها ومدى حساسيتها.
الثغرة الثالثة | الخلط بين المعرّفات وتعديل منشورات الآخرين "CVE-2026-77787"
تسمح هذه الثغرة لمستخدم يمتلك دور Author أو أعلى بتعديل بيانات SEO الخاصة بالتصنيفات والوسوم التي لا يملك صلاحية تحريرها، إلى جانب إمكانية الكتابة فوق عناوين منشورات تخص مستخدمين آخرين. وتُعد هذه الثغرة الأكثر تعقيدًا من الناحية التقنية بين الثغرات الثلاث.
ظهر الخلل في وظيفة التحديث الجماعي للبيانات الوصفية، التي لم تكن تتحقق من صلاحيات المستخدم عند التعامل مع التصنيفات والوسوم، كما كانت تستخدم المعرّفات الرقمية بطريقة قد تؤدي إلى الخلط بين أنواع مختلفة من الكائنات.
ففي Worpress، يمكن أن يحمل منشور وتصنيف الرقم نفسه، لأن لكل نوع من هذه الكائنات نظامًا مستقلًا للمعرّفات. وكانت المشكلة أن الإضافة لا تميّز بصورة صحيحة بين هذه المعرّفات أثناء بعض عمليات التحديث. ونتيجة لذلك، قد يؤدي طلب يستهدف تعديل بيانات تصنيف معين إلى تغيير عنوان منشور يحمل المعرّف الرقمي نفسه، حتى لو كان المنشور تابعًا لمستخدم آخر.
هذا النوع من الأخطاء يصعب ملاحظته أحيانًا أثناء مراجعة الكود، لأن الرقم المستخدم يبدو صحيحًا، بينما تكمن المشكلة في عدم التحقق من نوع الكائن الذي يشير إليه قبل تنفيذ العملية.
ما الذي تكشفه الثغرات الثلاث؟
تشترك الثغرات الثلاث في مشكلة واحدة تتعلق بالتحقق من صلاحيات المستخدمين عند الوصول إلى الوظائف عبر واجهات برمجية جديدة. فقد تكون الوظيفة محمية بشكل صحيح داخل لوحة تحكم ووردبريس، لكن إتاحتها من خلال مسار آخر لا يطبق فحوصات الصلاحيات نفسها قد يسمح بتجاوز هذه الحماية. ولهذا يجب أن يكون التحقق من الصلاحيات جزءًا من العملية نفسها، وأن يشمل المستخدم والإجراء المطلوب والبيانات المستهدفة.
وتزداد أهمية ذلك مع التوسع في استخدام أدوات الذكاء الاصطناعي والأتمتة، التي تعتمد على واجهات برمجية لتنفيذ مهام داخل المواقع. فكل مسار جديد للوصول إلى الوظائف يحتاج إلى مراجعة أمنية تضمن عدم إتاحة عمليات تتجاوز صلاحيات المستخدم الذي يطلب تنفيذها.
الباحث الأمني محمد عبد الرحمن يبلغ عن الثغرات الثلاث!
أبلغ الباحث الأمني محمد عبد الرحمن مستعينًا بالمهندسة "أسيل ياسر" عن الثغرات الثلاث عبر قناة الإفصاح المسؤول، وتعامل فريق Rank Math مع البلاغات وأصدر الإصلاحات اللازمة ضمن الإصدار 1.0.277. كما سُجلت الثغرات في قاعدة بيانات WPScan وسجلات CVE الرسمية تحت المعرّفات CVE-2026-77786 وCVE-2026-77785 وCVE-2026-77787.
ماذا يجب أن تفعل الآن؟
- حدّث إضافة Rank Math SEO إلى الإصدار 1.0.277 أو أحدث، إذ يتضمن الإصلاحات الخاصة بالثغرات الثلاث.
- راجع صلاحيات المستخدمين وتأكد من أن كل حساب يمتلك الأذونات الضرورية لعمله فقط، مع تعطيل حسابات المتعاونين السابقين التي لم تعد مستخدمة.
- لا تعتمد على درجة الخطورة وحدها لتقييم تأثير الثغرات، فقد يؤدي تسريب مسودة أو تغيير إعداد معين إلى أضرار كبيرة حسب طبيعة الموقع.