نشر فريق NativePHP سبعة تنبيهات أمنية خاصة بـ NativePHP for Mobile، وهي المرة الأولى التي يُصدر فيها الفريق مثل هذه التنبيهات. تأتي هذه التحديثات لمعالجة ثغرات حرجة، وقد أشار الفريق إلى كيفية تعامله مع إصدارات PHP الأمنية الأخيرة التي صدرت هذا الأسبوع.
هذه التنبيهات معالجة بالكامل في الإصدارات nativephp/mobile 4.6.1 و 3.3.11، وكذلك في الإصدار 1.0.3 من إضافة nativephp/mobile-file. خُمس الثغرات صُنفت بخطورة عالية، مع درجات CVSS تتراوح بين 7.4 و 8.1.
تفاصيل الثغرات وتأثيرها
معظم المشكلات تنبع من مسارات API الداخلية /_native/api/* التي يستخدمها WebView للتواصل مع الجانب الأصلي للتطبيق. هذه المسارات كانت تفتقر إلى middleware، وبعض وظائف الربط كانت تقبل المدخلات دون تحقق. معظم الهجمات لا تعمل إلا إذا كان المهاجم لديه بالفعل شيفرة JavaScript تعمل داخل WebView لتطبيقك، على سبيل المثال من خلال ثغرة XSS أو سكريبت طرف ثالث مخترق.
يجب على المطورين الانتباه إلى أن إصلاحين قد يغيران من سلوك التطبيق: أولاً، يجب أن تُطبق الأحداث التي تُرسل عبر /_native/api/events واجهة Native\Mobile\Events\Contracts\DispatchableFromNative. ثانياً، حمولات المهام غير المتزامنة (Async tasks) أصبحت الآن مشفرة وموثقة بمفتاح التطبيق الخاص بك، مما يعني أن التطبيقات التي لا تملك مفتاح تطبيق لا يمكنها إرسال هذه المهام.
ما يجب على المطورين فعله
- حدّث حزمة nativephp/mobile إلى الإصدار 4.6.1. التطبيقات التي تعمل على خط 3.x يمكنها استخدام 3.3.11.
- في الإصدار 4.x، يجب إلغاء تثبيت إضافة nativephp/mobile-file. أما في الإصدار 3.x، فيجب تحديث الإضافة إلى 1.0.3.
- شغّل الأمر php artisan native:install –force لإعادة إنشاء المشروع الأصلي، ثم أعد بناء تطبيقك.
- أرسل النسخة الجديدة إلى App Store و Google Play. لن يصبح المستخدمون في أمان حتى يُثبتوا التحديث.
يُذكر أن الإصدارات 1.x و 2.x من nativephp/mobile قد وصلت إلى نهاية دعمها ولن تتلقى أية تحديثات أمنية. يوصي الفريق بالترقية إلى الإصدار 4.x لضمان الأمان والدعم المستمر.
ثغرات PHP الأساسية وكيف تعامل NativePHP معها
صدرت تحديثات PHP في 21 أكتوبر لمعالجة الثغرات CVE-2026-109618 و CVE-2026-109619، وكلاهما صُنف بخطورة 9.2 وفقًا لمعيار CVSS v4.0. الإصدارات المتأثرة من PHP والتي تخص NativePHP هي PHP 8.5.12 و 8.4.27 و 8.3.36.
لقد أعاد NativePHP بناء جميع ثنائيات PHP التي يوزعها، وأزال الإصدارات المعرضة للخطر من التوزيع. الآن، تأتي هذه الثنائيات مع تجزئات وتوقيعات منشورة، وتُفحص الأدوات الخاصة بها عند التحميل. هذه الميزة متوفرة في nativephp/desktop 2.4.0 و nativephp/mobile 3.3.11، وستصل إلى nativephp/mobile 4.7.0 في الأيام القادمة.
فيما يتعلق بتحديث PHP في تطبيقات NativePHP، يجب اتباع نفس الخطوات المذكورة سابقًا: تحديث الحزمة، ثم تشغيل php artisan native:install –force، وإعادة البناء، وأخيراً إرسال النسخة الجديدة. الإصدار 2.4.0 من NativePHP Desktop لم يعد بحاجة إلى حزمة nativephp/php-bin التي أصبحت مهملة الآن ويمكن إزالتها.
أهمية الإبلاغ المسؤول
برأينا، تُسلط هذه الأحداث الضوء على أهمية الإبلاغ المسؤول عن الثغرات الأمنية. بينما أبلغ aragossa عن إحدى المشكلات بشكل خاص، فقد نشر acd421 (عبر RedEye Security) الثغرات الست الأخرى مع سلاسل استغلال عاملة بعد نشر تقرير RedEye مباشرةً. يفضل فريق NativePHP منح القائمين على الصيانة إشعارًا خاصًا ووقتًا معقولًا للإصلاح قبل الكشف عن التفاصيل ورموز الاستغلال للجمهور، وذلك لحماية المستخدمين والمطورين.
المصدر: laravel-news.com