التدابير المؤقتة غير كاملة

التصحيح الكامل وحده يعالج جميع الأنماط. قد تؤثر الإعدادات على الرفع والأداء والتوفر. طبّقها إداريًا قبل تحليل الطلب وأعد تشغيل كل عامل. اقرأ التنبيهين. CDN وWAF لا يثبتان إصلاح PHP.

احذر إعدادات الذاكرة

يزيل memory_limit=-1 بعض OOM القابل للتحكم داخل PHP، لا فشل تخصيص النظام. استخدم احتواءً مستقلًا للحاوية أو cgroup. لا تستخدم RLIMIT_AS أو RLIMIT_DATA. قيّد الحجم المفكوك وترويسات multipart والأجزاء والتداخل؛ post_max_size وحده غير كاف.

تقدم الرفع وbacktrace

اضبط session.upload_progress.enabled=0 قبل التحليل وأعد التشغيل. في PHP 8.5 يحجب fatal_error_backtraces=0 المسار المؤكد فقط. أزل INI غير الصالح الذي يصدر تشخيصًا مبكرًا. display_errors وerror_reporting و@ لا توقف العيب، ولا إعداد يغطي كل الأنماط.

إجراءات مؤقتة حسب المسار

التصحيح أولا. مؤقتا افرض session.upload_progress.enabled=0 إداريا قبل تحليل الطلب وأعد تشغيل العمال. في PHP 8.5 يقلل fatal_error_backtraces=0 مسارا آخر. قيد مبكرا الحجم المفكوك وأجزاء وترويسات multipart وعمق المدخلات. اختبر الرفع الطبيعي. إخفاء الأخطاء أو تعطيل سجلها لا يمنع مسار التشخيص.

أدوات PHP2Shell →

حدود الذاكرة وإعادة التدوير

يزيل memory_limit=-1 الإداري بعض مسارات OOM فقط ويحتاج احتواء cgroup/حاوية مستقلا ومنع التطبيق من إعادة حد منته وإعادة التشغيل. لا تستخدم RLIMIT_AS أو RLIMIT_DATA لأن فشل التخصيص قد يدخل المسار الضعيف. يقلل pm.max_requests=1 بعض الحالة بين الطلبات بتكلفة كبيرة. لا بديل عن التصحيحين الكاملين.

أدوات PHP2Shell →

مثال أمر / PHP INI

php.ini
; Temporary measures only. Follow both PHP advisories.
; Apply administratively BEFORE request parsing, then restart workers.
session.upload_progress.enabled = 0
; PHP 8.5 only:
fatal_error_backtraces = 0

; memory_limit = -1 is NOT a complete fix.
; It needs independent OS/container resource containment.
; Never substitute RLIMIT_AS or RLIMIT_DATA.

المصادر الأولية وقراءات إضافية

PHP security teamSecurity advisory · 21 Oct 2026
CVE-2026-109618GHSA-w8hw-w9fx-j79w · OOM corruption
CVE-2026-109619GHSA-6wmf-4rv5-p3rp · Stale global state
الخطوة التالية3. أعد التشغيل وتحقق من الجميع ↗