CVE-2026-108097: كيف يتحول سطر واحد في واجهة الحقول في دروبال إلى تنفيذ تعليمات برمجية

تتناول الدراسة الثغرة الحرجة CVE-2026-108097 في وحدة Field UI ضمن نواة Drupal، والتي تم إصلاحها في الإصدار 11.4.10. يحتوي الكود المصاب على استدعاء دالة خطير، لكن استغلاله يتطلب وحدة تسمح لمستخدم خارجي بالتحكم في البيانات التي تُمرَّر إليه. أعاد المؤلفون بناء سلسلة الاستغلال الكاملة في مختبر محلي — من كشف الملفات إلى تنفيذ الأوامر عن بُعد.
تقع الثغرة في Field UI، وهي وحدة في نواة Drupal مسؤولة عن صفحات إعداد الحقول الإدارية. السطر المصاب موجود في ملف FieldUiTable.php (الإصدارات ≤ 11.4.9):
php
$region_name = call_user_func_array($row['#region_callback'], [&$row]);```
يأخذ هذا الكود قيمة الحقل `#region_callback` وينفذها كـ PHP callable، مع تمرير صف الجدول نفسه كوسيط.

نصفا الهجوم
الثغرة نفسها ليست سوى نقطة تنفيذ — المكان الذي تتحول فيه البيانات إلى كود. لاستغلالها، يلزم وجود مصدر إدخال: آلية تسمح لمستخدم خارجي بالتأثير في الحقل `#region_callback` داخل صف الجدول.
• نقطة التنفيذ: نواة Drupal — السطر المصاب نفسه موجود في كل تثبيت قياسي للإصدار 11.4.9.
• مصدر الإدخال: وحدة مساهمة أو مخصصة. الوحيدة `field_ui_table` في النواة موجودة في صفحة إدارية تتطلب صلاحيات للوصول، ودوال callback الخاصة بها ثابتة وقت البناء.

القيد: الكود المصاب موجود في كل تثبيت متأثر، لكن قابلية الاستغلال تعتمد على منظومة الوحدات

سلسلة الاستغلال:
1. تنفيذ callable عشوائي. عند تعيين `#region_callback`، يجعل `print_r` استجابة الموقع تتضمن تفريغًا لصف الجدول.
2. كشف ملفات حساسة. ينسخ `PEAR System::cat` ملف `settings.php` إلى دليل الملفات العام، وبعد ذلك يكشف طلب GET عادي hash salt وبيانات اعتماد قاعدة البيانات.
3. تنفيذ كود عن بُعد. لتجاوز الحماية الخاصة بدليل `files` على خادم Apache، استبدل المؤلفون `.htaccess` بدلًا من حذفه. يستخدم البديل `RewriteEngine On` و`php_flag engine on` لتجاوز قواعد إعادة الكتابة الموروثة وإعادة تمكين تنفيذ PHP. تُنفَّذ ثلاث عمليات في طلب واحد غير مصادق عليه: نسخ علامة مرفوعة إلى `x.php`، وحذف `.htaccess` الموجود، ونسخ `.htaccess` البديل.

المقال: https://fortbridge.co.uk/research/cve-2026-108097-deep-dive-turning-a-drupal-field-ui-callback-into-rce/
الثغرات
المورّدون
المنتجات