PHP آسیبپذیری حیاتی که شب گذشته وصله شد، باعث هرج و مرج جهانی شد
PHP Foundation اعتراف کرد که آسیبپذیری حیاتی که شب گذشته وصله شد، از سال ۲۰۲۴ توسط توسعهدهندگان این بنیاد شناسایی شده بود، اما به دلیل عدم یافتن مسیر حمله و دشواری در تصمیمگیری برای اصلاح، نزدیک به دو سال به تعویق افتاد. این مشکل تا زمانی که Calif و OpenAI آن را گزارش نکردند، به طور کامل رفع نشد.
(پیشزمینه: OpenAI GPT‑5.6 Sol یک آسیبپذیری عمده PHP را کشف کرد! حدود ۷۰ درصد وبسایتها تحت تأثیر قرار گرفتند، ۱ میلیارد دلار برای دفاع هزینه شد)
(پیشزمینه تکمیلی: Bank of America با Mythos آسیبپذیری را کشف کرد و ۱۰۰۰ پیمانکار برای رفع اشکال استخدام کرد)
محتوای مقاله:
آسیبپذیری پرخطر PHP که در ۱۲ ساعت گذشته باعث نگرانی شدید وبسایتهای سراسر جهان شده بود، در واقع از سال ۲۰۲۴ کشف شده بود؟ بنیاد PHP در بیانیهای پس از حادثه اذعان کرد که در آن زمان نتوانستند مسیر حمله مشخصی را پیدا کنند و هر یک از راهحلهای پیشنهادی هزینههای خاص خود را داشت. تیم به دلیل اتکا به تصمیمگیری جمعی، نتوانست به سرعت به نتیجه برسد و اصلاحات بارها متوقف و از نو آغاز شد. این بنیاد صراحتاً اعلام کرد که “این تأخیر یک شکست ساختاری بود” که ناشی از فرآیند تصمیمگیری تیم امنیتی و کمبود منابع بود.
با این حال، یک نکته ظریف وجود دارد: مقاله بیان میکند که در سال ۲۰۲۴ تنها امکان استفاده نظری وجود داشت و تیم “مسیر حمله مشخصی را پیدا نکرد”. این با دانستن اینکه کد از راه دور قابل اجراست و عدم رفع آن، تفاوت دارد.
این بنیاد اظهار داشت که نشانههای این مشکل زمانی ظاهر شد که توسعهدهندگان اصلی در حال رفع مشکل دیگری بودند که توسط Quarkslab گزارش شده بود و جزو موارد گزارش شده در آن ممیزی نبود. شرکت امنیتی Calif نیز به همین ترتیب توضیح داد: در آن زمان قابل بهرهبرداری بودن آن تأیید نشده بود، بنابراین اصلاح نشد. در زمان انتشار نتایج ممیزی در آوریل ۲۰۲۵، بنیاد PHP نوشت: “تیم توسعه PHP به تمام مشکلات کشف شده رسیدگی کرده است.” این مشکل حافظه جزو موارد ممیزی نبود و در آن زمان هیچ توضیحی در مورد آن به صورت عمومی ارائه نشد.
PHP دارای memory_limit (حداکثر حافظه قابل استفاده برای یک درخواست) است. اگر در لحظه نامناسب، درخواست به این حد برسد و باعث OOM (کمبود حافظه) شود، PHP دادههای داخلی را که نیمهکاره مقداردهی اولیه شدهاند، باقی میگذارد و سپس از آنها به عنوان داده معتبر استفاده میکند که منجر به خرابی حافظه میشود.
مشکل در محل قرارگیری آن بود: مدیریت حافظه و پردازش خطا تقریباً در هر درخواست رخ میدهد. بنیاد گفت که هر یک از راهحلهای پیشنهادی یا سازگاری با عقب را مختل میکرد، یا ریسکهای جدیدی برای حملات منع سرویس (DoS) ایجاد میکرد، یا باعث میشد تعداد زیادی از افزونههای شخص ثالث نیز مجبور به تغییر شوند.
اصلاح نهایی، طبق اعلامیه امنیتی GitHub، حذف مکانیسم توقف مستقیم درخواست در صورت کمبود حافظه بود و به جای آن، توقف در نقطه امن بعدی انجام شد که به معنای بازنویسی نحوه پردازش کمبود حافظه توسط PHP بود. تعداد توسعهدهندگان اصلی که درک عمیقی از موتور داشتند کم بود و آنها وظایف متعددی را بر عهده داشتند، که باعث توقف مکرر اصلاحات شد.
نقطه عطف در تابستان ۲۰۲۶ رخ داد. بنیاد PHP را به برنامه Patch the Planet OpenAI اضافه کرد و Calif از ۳۰ ژوئیه شروع به ممیزی کرد. در ۱۱ اوت، Ryan Austin، محقق Calif، گزارشی از یک آسیبپذیری که امکان اجرای کد از راه دور را بدون نیاز به شرایط خاص فراهم میکرد، ارائه داد. ریشه این مشکل همان مشکل حافظه سال ۲۰۲۴ بود؛ OpenAI نیز در همان روز به طور مستقل همین ریشه را گزارش کرد. Wiz در ۲۴ اوت و OpenAI در ۱۸ سپتامبر مسیرهای حمله را تکمیل کردند و تصویر کامل تأثیرات مشخص شد. از آن پس، اصلاح این آسیبپذیری اولویت اول نیروی انسانی امنیتی بنیاد شد و چندین نفر به صورت تمام وقت روی آن کار کردند و پس از بیش از دو ماه منتشر شد.
توضیحات Calif ۱۱ برنامه کاربردی را فهرست کرد که میتوانستند بدون ورود به سیستم مورد نفوذ قرار گیرند، از جمله WordPress، Drupal و Joomla، و اشاره کرد که قدیمیترین مسیر برنامه تحت تأثیر به PHP 5.4.0 که در سال ۲۰۱۲ منتشر شد، بازمیگردد.
Austin نوشت که او از چارچوب خاصی یا مدلهایی که عموم مردم به آنها دسترسی ندارند استفاده نکرده است، بلکه با آشنایی با تاریخچه آسیبپذیری هدف، هوش مصنوعی را به آن سمت هدایت کرده است، زیرا “LLM به طور پیشفرض از جدیدترین و برجستهترین آسیبپذیریها به سمت کدهای قدیمیتر اطراف جستجو میکند و کمتر به طور فعال از روشهای بهرهبرداری قدیمی و کمتر رایج ۲۰ سال پیش شروع میکند.”
این بنیاد شروع به استفاده از رأی اکثریت برای تصمیمگیری کرده و تشویق به مصالحه میکند؛ آسیبپذیریهای جدی که اصلاح آنها به دلیل انتخابهای دشوار با مشکل مواجه میشود، زودتر به رهبری ارجاع داده میشوند تا پیشبرد آنها تسهیل شود. تیم امنیتی اکوسیستم در ماه مه تأسیس شد و اعضای جدیدی به آن پیوستند. از ۱ ژوئیه، این تیم ۱۵ CVE منتشر کرده و ۱۰۶ گزارش نامعتبر، تکراری یا غیرقابل تکرار را پردازش کرده است. این بنیاد همچنین از شرکتها، ارائهدهندگان ابری و دولتها درخواست کمک مالی کرده است، زیرا PHP زیربنای خدمات دولتی، فروشگاههای آنلاین و بانکها را تشکیل میدهد، اما کار امنیتی هنوز به تعداد کمی از توسعهدهندگان استخدام شده و تعدادی داوطلب متکی است.
پاسخ مدیران وبسایتها مستقیم است: به نسخههای ۸.۵.۱۲، ۸.۴.۲۷، ۸.۳.۳۶ یا ۸.۲.۳۵ ارتقا دهید. تمام PHPهایی که درخواستهای وب را پردازش میکنند، از جمله PHP-FPM، modphp، FrankenPHP و LiteSpeed، در محدوده قرار دارند. برای نسخههای PHP ۸.۱ و پایینتر، پشتیبانی رسمی دیگر بهروزرسانی نمیشود، اما تیم امنیتی برای نسخههای ۷.۴، ۸.۰ و ۸.۱ اصلاحات کد منبع حداقلی را برای کسانی که خودشان کامپایل میکنند، ارائه میدهد. راهحلهای موقت شامل لغو محدودیت حافظه با memorylimit=-1 و کاهش postmaxsize است، اما این موارد به طور کامل نیستند و تنها ارتقا راهحل کامل محسوب میشود.
Node.js به سرعت آسیبپذیری پرخطر Brotli را وصله کرد! سه شاخه فعال نسخههای امنیتی را منتشر کردند، نسخههای EOL نیز ممکن است تحت تأثیر قرار گیرند.
OpenAI برنامه “Patch the Planet” را اعلام کرد و به پروژههای متنباز شناخته شده مانند cURL، Python و PyPI کمک امنیتی ارائه میدهد.
استارتآپ امنیتی هوش مصنوعی Depthfirst اعلام کرد که مدل Mythos Anthropic را شکست داده است! یک آسیبپذیری حماسی ۱۸ ساله پنهان در NGINX را کشف کرد و هزینه کشف آن تنها ۱/۱۰ بود.
قابلیت امنیتی GPT-5.5-Cyber از Claude Mythos پیشی گرفت! دو سرنوشت: اجازه کاخ سفید در مقابل ممنوعیت.
هکرها ۳۰ افزونه وردپرس را خریداری کرده و درب پشتی را کاشتند، ۸ ماه پنهان ماندند و از قراردادهای هوشمند اتریوم برای دور زدن مسدودیت دامنه استفاده کردند.

Leave a Reply