دو باگ بحرانی RCE در PHP و آپدیت فوری نسخهها
خلاصهٔ کاملتر
بنیاد PHP اعلام کرده که نسخههای 8.5.12، 8.4.27، 8.3.36 و 8.2.35 دو آسیبپذیری بحرانی رو رفع میکنن. این دوتا تو شرایط درست به یه مهاجم بدون احراز هویت اجازهی RCE (یعنی اجرای کد دلخواه روی سرور از راه دور) میدن. توصیهی بنیاد خیلی روشنه: اگه PHP دارید، همین الان آپدیت کنید.
باگ اول، CVE-2026-109618، به OOM ربط داره (یعنی وقتی درخواست به سقف memory_limit میخوره). اگه این اتفاق دقیقاً تو لحظهی بدی بیفته، PHP دادهی داخلی نیمهکاره رو جا میذاره و بعداً معتبر حسابش میکنه. روی Apache با mod_php این قبل از اجرای هر کد اپلیکیشنی قابل تحریکه و با تنظیمات پیشفرض RCE کامل نشون داده شده. روی PHP-FPM هم از مسیرهای کد اپلیکیشن RCE تأیید شده.
باگ دوم، CVE-2026-109619، از state سراسری کهنه میاد. یه fatal error تو جای بد باعث میشه state داخلی به حافظهی درخواست قبلی اشاره کنه. درخواست بعدی روی همون worker از این حافظهی آزادشده استفاده میکنه (همون use-after-free). هر دو باگ تو بخشهایی هستن که تقریباً هر درخواستی ازشون رد میشه، برای همین رفعشون بدون شکستن سازگاری یا افت سرعت سخت بود.
به گفتهی بنیاد، نشونههای اولیهی مشکل OOM سال ۲۰۲۴ تو اولین audit خارجی PHP (توسط Quarkslab) پیدا شد. تیم امنیت چند راهحل داشت ولی هر کدوم یه هزینه داشت و تصمیمگیری اجماعی کار رو ماهها متوقف کرد. خود بنیاد این تأخیر رو یه شکست ساختاری میدونه. از ۱۱ آگوست که Calif، OpenAI و Wiz مسیرهای واقعی حمله رو گزارش دادن، رفعش اولویت اول شد.
قرار بود انتشار ۲۲ اکتبر باشه، ولی ۲۰ اکتبر شناسههای CVE با یه امتیاز CVSS اشتباه (۱۰ بهجای ۹.۲) لو رفت و انتشار یه روز جلو افتاد. Calif هم اشتباهی یه ویدیو از PoC منتشر کرد. صبح ۲۱ اکتبر هم Chainguard بیشتر از شش ساعت زودتر از موعد ایمیجهای پچشده رو بیرون داد و عملاً embargo رو شکست.
بنیاد میگه از جولای تا الان ۱۵ CVE منتشر کرده و بیشتر از ۱۰۰ گزارش نامعتبر یا تکراری رو بررسی کرده. ابزارهای AI کمک میکنن ولی تصمیم دربارهی اصلاح طراحی موتور فقط از مهندسهای باتجربه برمیاد که تعدادشون کمه. برای همین از شرکتها، هاستینگها و دولتها خواسته اسپانسر بنیاد PHP بشن.
نکات کلیدی:
- نسخههای امن: 8.5.12، 8.4.27، 8.3.36 و 8.2.35
- CVE-2026-109618: خرابی حافظه موقع OOM، با RCE بدون احراز هویت روی Apache و mod_php
- CVE-2026-109619: use-after-free از state کهنهی درخواست قبلی روی همون worker
- امتیاز واقعی CVSS برابر ۹.۲ هست، نه ۱۰ که تو شبکهها پخش شد
- ریشهی مشکل OOM از audit سال ۲۰۲۴ شناخته شده بود ولی رفعش ماهها گیر کرد
- Chainguard بیشتر از شش ساعت قبل از انتشار رسمی، ایمیج پچشده رو منتشر کرد




