همه چیز در مورد حفره امنیتی PHP2Shell
انتشار خبر PHP2Shell توجه مدیران سایتها را به مشکلی جلب کرد که در یکی از بنیادیترین بخشهای PHP قرار دارد. این نام به دو آسیبپذیری با شناسههای CVE-2026-109618 و CVE-2026-109619 اشاره میکند. سوءاستفاده از آنها میتواند در شرایط مشخص، اجرای کد از راه دور و بدون ورود به حساب کاربری را ممکن کند. شدت اعلامشده برای هر دو مورد در استاندارد CVSS v4.0 برابر با ۹٫۲ از ۱۰ است؛ بنابراین رسیدگی به آنها باید در اولویت قرار گیرد.
برای تصمیمگیری درست، لازم است میان سابقه یک اشکال، زمان اثبات قابلیت سوءاستفاده و زمان انتشار وصله تفاوت بگذاریم. همچنین باید بدانیم نصب یک نسخه اصلاحشده چگونه تأیید میشود و چه اقداماتی تا پیش از تکمیل بهروزرسانی قابل انجام است. این مقاله موضوع را با زبان ساده توضیح میدهد و راهنمای عملی آن را برای مدیران WordPress، مسئولان سرور و صاحبان کسبوکارهای اینترنتی ارائه میکند. اطلاعات نسخهها و هشدارهای تکمیلی بر اساس منابع موجود تا تاریخ درجشده در ابتدای مقاله تنظیم شده است.
چرا وجود آسیبپذیری در هسته PHP برای سایتهای مختلف اهمیت دارد
PHP درخواستهای وب را روی سرور پردازش میکند و بسیاری از سامانهها، از جمله WordPress، Drupal و Joomla، به آن وابستهاند. در این رخداد، مشکل در موتور اجرای PHP قرار دارد. به همین دلیل، سالم بودن قالب یا افزونههای سایت بهتنهایی نشانه برطرف شدن خطر نیست. پژوهشگران Wiz اجرای کد بدون احراز هویت را روی نمونههایی از این سامانهها نشان دادهاند و جداگانه امکان خواندن اطلاعات حساس از حافظه فرایند PHP را نیز گزارش کردهاند.
گستردگی استفاده از PHP، دامنه بررسی را بزرگ میکند، اما از آن نمیتوان نتیجه گرفت که همه سایتهای مبتنی بر PHP هک شدهاند. وجود نرمافزار آسیبپذیر، فراهم بودن شرایط حمله و وقوع نفوذ موفق سه وضعیت متفاوت هستند. برای ارزیابی هر سایت باید نسخه واقعی، بسته نصبشده، تنظیمات و نحوه اجرای PHP مشخص شود. نتیجه عملی برای مالک سایت این است که وضعیت زیرساخت را بررسی کند و تنها به نبود تغییر ظاهری در صفحات اعتماد نکند.
سابقهای که به توضیح خبر «کشف یک حفره قدیمی» کمک میکند
گزارش Calif سابقه پژوهش درباره مشکلات مرتبط با محدودیت حافظه PHP را تا سال ۲۰۰۴ دنبال میکند و به یک گزارش دیگر در سال ۲۰۲۰ نیز اشاره دارد. این پیشینه نشان میدهد خانواده این مشکلات تازه نیست. با این حال، نسبت دادن تمام جزئیات دو آسیبپذیری سال ۲۰۲۶ به یک اشکال کاملاً ثابت از سال ۲۰۰۴، برداشت دقیقی از این سابقه نیست. باید میان شباهت ریشههای فنی و یکسان بودن کامل آسیبپذیریها تفاوت گذاشت.
طبق توضیح PHP Foundation، در جریان رسیدگی به یافتههای ممیزی سال ۲۰۲۴، یکی از توسعهدهندگان نشانههای مشکل کمبود حافظه مرتبط با CVE-2026-109618 را شناسایی کرده بود. احتمال سوءاستفاده مطرح شد، اما مسیر عملی روشنی در دست نبود. راهحلهای پیشنهادی نیز با نگرانیهایی مانند ناسازگاری با کدهای موجود، ایجاد خطر اختلال سرویس و نیاز به تغییر در افزونههای جانبی PHP روبهرو بودند. کمبود منابع و دشواری تصمیمگیری باعث تأخیر شد؛ موضوعی که خود بنیاد آن را شکست ساختاری در فرایند رسیدگی توصیف کرده است.
پژوهشهای سال ۲۰۲۶ چگونه خطر عملی این اشکالها را روشن کردند
بر اساس جدول زمانی Calif، مسیرهای تازه منتهی به اجرای کد در اوایل اوت ۲۰۲۶ کشف شدند. گزارش نخست در ۱۱ اوت به تیم PHP ارسال شد، نمونه اثبات قابلیت سوءاستفاده در ۱۴ اوت ارائه شد و تیم PHP در روز بعد عملکرد آن را تأیید کرد. Calif گزارش آسیبپذیری دوم را در ۲۱ اوت فرستاد. این توالی اهمیت دارد، زیرا فاصله میان مشاهده رفتار غیرعادی و اثبات پیامد امنیتی آن را نشان میدهد.
Wiz نیز پژوهشی مستقل انجام داد و یافتههای خود را در ۲۴ اوت گزارش کرد. به گفته این شرکت، ابزارهای هوش مصنوعی در تحلیل کد، آزمون فرضیهها و تطبیق نمونههای آزمایشی نقش داشتند. روایت دقیقتر این است که پژوهشگران با کمک این ابزارها توانستند قابلیت سوءاستفاده را روشن کنند. شناخت تاریخی کد، طراحی آزمایش، تفسیر نتایج و بررسی اصلاحات همچنان بخش ضروری کار انسانی بود.
زمان انتشار عمومی و دلیل جلو افتادن انتشار وصلهها چه بود
PHP Foundation توضیح داده است که شناسههای آسیبپذیری در ۲۰ اکتبر در فضای عمومی منتشر شدند. در برخی مطالب، زمان انتشار و امتیاز شدت نیز اشتباه اعلام شده بود. تیم PHP در پاسخ، اطلاعرسانی را جلو انداخت و زمان انتشار اصلاحات را از ۲۲ اکتبر به ۲۱ اکتبر منتقل کرد. امتیاز رسمی اعلامشده ۹٫۲ بود. این سابقه توضیح میدهد چرا خبر با هشدارهای فوری و تغییر برنامه انتشار همراه شد.
برای خواننده خبرهای امنیتی، تاریخ افشای عمومی بهتنهایی کافی نیست. باید تاریخ گزارش اولیه، زمان ارائه اصلاحیه و زمان نصب آن روی سرور خود را نیز مشخص کرد. یک سرویس ممکن است در روز انتشار خبر اصلاح شده باشد، در حالی که سرویس دیگری با همان ظاهر و همان سامانه مدیریت محتوا همچنان نسخه قبلی را اجرا کند. تصمیم عملی باید بر اساس وضعیت واقعی سرویس گرفته شود، نه صرفاً زمان انتشار یک تیتر خبری.
آسیبپذیری نخست چگونه یک خطای کمبود حافظه را خطرناک میکند
PHP برای پردازش هر درخواست، حافظهای به دادههای داخلی اختصاص میدهد. در شرایط عادی، این دادهها آماده میشوند، مورد استفاده قرار میگیرند و سپس پاکسازی میشوند. در CVE-2026-109618، خطای کمبود حافظه یا Out-of-memory میتواند عملیات را زمانی متوقف کند که بخشی از ساختارهای داخلی هنوز کامل آماده نشدهاند. پاکسازی بعدی ممکن است با این داده ناقص مانند داده معتبر رفتار کند. پیامد این وضعیت میتواند خرابی حافظه و در شرایط قابل سوءاستفاده، اجرای کد باشد.
این مشکل صرفاً به ارسال یک فایل بزرگ محدود نیست. مصرف واقعی حافظه هنگام پردازش دادهها میتواند با اندازه اولیه درخواست تفاوت داشته باشد. در Apache همراه با mod_php، مسیر اثباتشدهای وجود دارد که پیش از اجرای کد برنامه فعال میشود. بنابراین بررسی ورودیها در کد WordPress یا برنامه اختصاصی، همه مسیرهای این مشکل را پوشش نمیدهد. جزئیات حساسیت سایر روشهای اجرا باید با اطلاعیه رسمی و گزارشهای پژوهشی همان محیط تطبیق داده شود.
آسیبپذیری دوم چگونه اطلاعات باقیمانده از درخواست قبلی را به خطر تبدیل میکند
یک فرایند پردازشگر PHP ممکن است درخواستهای متعددی را پشت سر هم پاسخ دهد. بعضی اطلاعات داخلی باید هنگام پایان هر درخواست پاک یا بازنشانی شوند. در CVE-2026-109619، این پاکسازی در برخی مسیرها کامل انجام نمیشود یا اطلاعات داخلی دوباره به حافظه درخواست پایانیافته اشاره میکند. درخواست بعدی ممکن است پیش از بازنشانی عادی، از همان اشارهگر باقیمانده استفاده کند. این وضعیت با اصطلاح Use-after-free شناخته میشود؛ یعنی استفاده از حافظهای که قبلاً آزاد شده است.
آزاد شدن حافظه به معنی صفر شدن فوری همه محتوای آن نیست و آن بخش میتواند برای داده دیگری استفاده شود. اگر برنامه همچنان ارجاع قبلی را معتبر بداند، ممکن است اطلاعات اشتباه را بخواند یا روی آن عملیات انجام دهد. در این آسیبپذیری، رفتار درخواست قبلی و بعدی در یک پردازشگر اهمیت دارد. همین وابستگی باعث میشود شرایط سوءاستفاده در همه نصبها یکسان نباشد، اما مبنای قابل اعتمادی برای به تعویق انداختن اصلاحیه نیز فراهم نمیکند.
چه شواهدی از تلاش برای سوءاستفاده منتشر شده است
AWS گزارش کرده است که در دادههای سامانه MadPot، تلاشی مرتبط با PHP2Shell در ۱۷ اکتبر ۲۰۲۶ مشاهده شده است؛ یعنی پیش از انتشار عمومی اصلاحیه. این سامانه از محیطهای طراحیشده برای مشاهده فعالیت مهاجمان استفاده میکند. AWS همچنین از تلاشهای دیگر در روز انتشار و افزایش فعالیت پس از افشا خبر داده است. در همان گزارش تأکید شده که معلوم نیست همه این تلاشها در سامانههای واقعی موفق میشدند یا خیر.
مشاهده تلاش برای حمله، وقوع نفوذ موفق را در همه سرورها ثابت نمیکند. با این حال، شواهد موجود ضرورت واکنش سریع را نشان میدهند. AWS پیشنهاد میکند بررسی تاریخی دستکم از ۱۷ اکتبر آغاز شود. عمق بررسی باید با حساسیت اطلاعات و مدت آسیبپذیر بودن سرویس متناسب باشد.
کدام نسخههای PHP اصلاح دو آسیبپذیری اصلی را دریافت کردهاند
نسخههای جدول زیر، اصلاح دو شناسه اصلی PHP2Shell را دریافت کردهاند. منظور از نسخه اصلاحشده در این جدول، رفع همین دو آسیبپذیری است و این عنوان تضمین نمیکند که نرمافزار در برابر هر مشکل امنیتی دیگری مصون باشد. در هر شاخه باید اصلاحات بعدی نیز دنبال شود و بسته مناسب از منبع معتبر دریافت شود.
| شاخه PHP | نخستین نسخه اصلاحشده برای دو آسیبپذیری اصلی | وضعیت پشتیبانی امنیتی شاخه |
|---|---|---|
| PHP 8.2 | PHP 8.2.35 | تا ۳۱ دسامبر ۲۰۲۶ |
| PHP 8.3 | PHP 8.3.36 | تا ۳۱ دسامبر ۲۰۲۷ |
| PHP 8.4 | PHP 8.4.27 | تا ۳۱ دسامبر ۲۰۲۸ |
| PHP 8.5 | PHP 8.5.12 | تا ۳۱ دسامبر ۲۰۲۹ |
تاریخهای پشتیبانی از جدول رسمی PHP گرفته شدهاند. در زمان نگارش، PHP 8.2 هنوز اصلاحات امنیتی دریافت میکند، اما به پایان این دوره نزدیک است. برای سامانهای که قرار است مدت طولانی نگهداری شود، انتخاب شاخه پشتیبانیشده با زمان باقیمانده بیشتر، پس از بررسی سازگاری، تصمیم مناسبتری است. مهاجرت میان شاخهها باید با آزمون برنامه، افزونهها و وابستگیها همراه باشد.
PHP 8.1 و قدیمیتر پشتیبانی رسمی عادی ندارند. برخی عرضهکنندگان Linux و خدمات LTS اصلاحات را به بستههای قدیمی منتقل میکنند؛ روشی به نام Backport. پروژه PHP نیز برای 7.4، 8.0 و 8.1 اصلاحات حداقلی کد منبع ارائه کرده است. وضعیت هر بسته باید از عرضهکننده تأیید شود؛ Backport به معنی بازگشت پشتیبانی رسمی نیست.
چرا اطلاعیههای ۲۳ و ۲۶ اکتبر در انتخاب بسته مناسب اهمیت دارند
در ۲۳ اکتبر، PHP درباره مسئله جداگانه CVE-2026-115560 اطلاع داد. این مورد به ترکیب نامعمولی از تنظیمات و کد برنامه مربوط است: تغییر Session serialize handler از php_binary یا php_serialize به php در زمان اجرا، پیش از session_start()، همراه با فعال بودن Session upload progress. PHP توصیه کرده است تا انتشار اصلاحیه بعدی، مقدار session.upload_progress.enabled=0 تنظیم شود. این اطلاعیه به معنی بیاثر بودن وصله دو آسیبپذیری اصلی نیست.
در ۲۶ اکتبر نیز بستههای Windows با شمارههای 8.2.35-1، 8.3.36-1، 8.4.27-1 و 8.5.12-1 منتشر شدند. این بازسازی، کتابخانه Brotli را برای رفع CVE-2026-111497 بهروزرسانی میکند و نسخه موتور PHP را تغییر نمیدهد. کاربران Windows باید بسته بازسازیشده مناسب را بررسی کنند. این موارد نشان میدهند تأیید امنیت به بسته، تنظیمات و اطلاعیههای جدید وابسته است.
چگونه نسخه واقعی PHP سایت و وضعیت اصلاحیه را بررسی کنیم
در WordPress، مسیر Tools > Site Health > Info > Server نسخه PHP مورد استفاده سایت را نمایش میدهد. در محیط فارسی، بخش مربوط معمولاً از «ابزارها» و «سلامت سایت» در دسترس است. اطلاعیه رسمی WordPress تأکید میکند که اصلاح این دو آسیبپذیری به بهروزرسانی PHP نیاز دارد و بهروزرسانی اختصاصی WordPress برای آنها برنامهریزی نشده است. مدیر سایت باید وضعیت را از شرکت میزبان نیز پیگیری کند.
اگر به سرور دسترسی دارید، خروجی php -v برای شناخت محیط خط فرمان مفید است، اما نباید آن را تنها مدرک نسخه وب در نظر بگیرید. ممکن است چند نسخه PHP روی یک سرور نصب باشد و دامنهها از پردازشگرهای متفاوت استفاده کنند. تابع phpversion() نیز نسخه محیطی را گزارش میکند که در آن اجرا میشود. بررسی فنی باید در همان مسیر اجرای سایت انجام شود و اطلاعات کامل بسته یا شماره بازسازی عرضهکننده نیز ثبت شود.
در عمل، برای هر دامنه یک سابقه کوتاه نگهداری کنید که شامل نسخه وب، نام بسته، زمان بهروزرسانی و مسئول تأیید باشد. اگر میزبان از Backport استفاده میکند، شماره اطلاعیه امنیتی یا توضیح رسمی رفع هر دو CVE را بخواهید. پاسخ کلی مانند «سرور امن است» برای پیگیری بعدی کافی نیست. این پیشنهاد اجرایی کمک میکند شواهد بررسی از نتیجهگیری شفاهی جدا باشد و وضعیت سایتهای متعدد با هم اشتباه نشود.
صاحبان سایتهای WordPress و میزبانی اشتراکی چه اقداماتی انجام دهند
مالک سایت ابتدا باید از میزبان بپرسد آیا PHP اجراکننده دامنه، اصلاح هر دو شناسه اصلی را دریافت کرده است یا خیر. سپس باید نسخه اعلامشده را با بخش سلامت سایت تطبیق دهد و وضعیت هشدار Session upload progress را نیز جویا شود. نصب یک افزونه امنیتی یا بهروزرسانی قالب، جایگزین اصلاح موتور PHP نیست. اگر پنل میزبانی تنها نام شاخه، مانند PHP 8.3، را نشان میدهد، شماره کامل نسخه و بسته را درخواست کنید.
برای اجرای منظم کار، فهرست دامنه اصلی، زیردامنهها و محیطهای آزمایشی را آماده کنید و هرکدام را جداگانه پیگیری کنید. یک فروشگاه ممکن است بخش اصلی، پنل قدیمی یا نسخه آزمایشی فراموششدهای داشته باشد که تنظیمات متفاوتی دارند. مسئولیت پیگیری را به یک شخص مشخص بسپارید و زمان پاسخ میزبان را ثبت کنید. اگر بهروزرسانی با ناسازگاری برنامه روبهرو شد، لازم است مسئول برنامه و میزبان روی یک مسیر اصلاح مشخص توافق کنند؛ تعویق نامحدود، وضعیت را حل نمیکند.
مدیران سرور چگونه بهروزرسانی را اجرا و نتیجه آن را تأیید کنند
NCSC توصیه میکند ابتدا همه نصبهای PHP شناسایی شوند و سرویسهای در دسترس اینترنت در اولویت قرار گیرند. دامنه بررسی نباید فقط نسخههای بسیار قدیمی باشد. محصولات جانبی و تجهیزاتی که PHP را درون خود دارند نیز باید از مسیر عرضهکننده بررسی شوند. اگر اصلاح فوری ممکن نیست و اقدامات موقت نیز قابل اجرا نیستند، خارج کردن موقت سامانه از دسترس باید در ارزیابی خطر قرار گیرد.
پیشنهاد اجرایی برای تیم فنی این است که کار را با فهرست سرویسها و مسئول هر سرویس آغاز کند. سپس بسته اصلاحشده از مخزن معتبر نصب شود و فرایندهای مرتبط با روش اجرا دوباره راهاندازی شوند. در محیطهای Docker نیز باید اطمینان حاصل شود که برنامه واقعاً با Image اصلاحشده دوباره مستقر شده است؛ دریافت Image جدید بهتنهایی به معنی جایگزین شدن Container در حال اجرا نیست. پس از تغییر، بررسی از مسیر واقعی وب تکرار شود.
تأیید نهایی باید علاوه بر نسخه، عملکرد برنامه را نیز پوشش دهد. ورود کاربر، ثبت فرم، بارگذاری فایل و بخشهای مهم کسبوکار را با داده آزمایشی بررسی کنید. برای فروشگاه، فرایند خرید باید در محیط مناسب و بدون ایجاد پرداخت واقعی ناخواسته آزموده شود. نتیجه هر بررسی و هر خطای جدید را ثبت کنید. هدف این روش، فراهم کردن شواهدی است که هم نصب اصلاحیه و هم ادامه درست کار سرویس را نشان دهد.
پشتیبانگیری و آزمون سازگاری چگونه از اختلال هنگام تغییر نسخه جلوگیری میکنند
پشتیبانگیری باید فایلها و پایگاه داده را پوشش دهد؛ زیرا این دو بخش اطلاعات متفاوتی را نگهداری میکنند. مستندات WordPress بر اهمیت هر دو بخش برای بازیابی تأکید دارند. وجود نام یک فایل پشتیبان، بهتنهایی قابلیت بازیابی را ثابت نمیکند. بهتر است نسخه پشتیبان در محل مجزایی نگهداری شود و روش بازگردانی آن برای مسئول فنی روشن باشد. اطلاعات لازم برای دسترسی به نسخه پشتیبان نیز نباید تنها روی همان سرور ذخیره شود.
در برنامه اجرایی پیشنهادی، تغییر کوچک در همان شاخه و مهاجرت بزرگ میان شاخهها را جداگانه مدیریت کنید. مهاجرت از یک نسخه قدیمی ممکن است به اصلاح کد یا جایگزینی افزونه ناسازگار نیاز داشته باشد. اگر محیط آزمایشی دارید، بخشهای اصلی سایت را ابتدا در آن بررسی کنید. در عین حال، آزمون باید زمانبندی روشن داشته باشد و به دلیلی برای باقی ماندن نامحدود سرویس عمومی در وضعیت آسیبپذیر تبدیل نشود. برنامه بازگشت نیز باید خطر بازگرداندن نسخه آسیبپذیر را در نظر بگیرد.
اقدامات موقت چه کمکی میکنند و چرا جایگزین وصله نیستند
غیرفعال کردن Session upload progress با تنظیم session.upload_progress.enabled=0 یکی از اقداماتی است که در راهنماهای رسمی مطرح شده است. این قابلیت برای ثبت پیشرفت بارگذاری در Session استفاده میشود و با غیرفعال کردن کامل امکان بارگذاری فایل برابر نیست. پیش از تغییر باید مشخص شود برنامه از نمایش پیشرفت بارگذاری به این روش استفاده میکند یا خیر. این تنظیم باید در پیکربندی مؤثر PHP اعمال و پس از راهاندازی مجدد تأیید شود.
راهنمای رسمی تنظیم memory_limit=-1 را برای کاهش موقت خطر مطرح میکند. این کار محدودیت حافظه PHP را برمیدارد و خطر مصرف بیش از اندازه منابع را افزایش میدهد. اجرای آن به ارزیابی مدیر سرور و کنترل منابع نیاز دارد و همه حالتهای شکست تخصیص حافظه را پوشش نمیدهد.
محدود کردن درخواستهای غیرضروری و استفاده از WAF میتواند بخشی از ترافیک حمله را متوقف کند. Cloudflare اعلام کرده است برای این رخداد قواعد حفاظتی ارائه کرده، اما همچنان نصب اصلاحیه PHP را لازم میداند. پوشش قواعد نیز به شرایط وابسته است؛ برای مثال در هشدار تکمیلی Session، تغییر نام پیشفرض فیلد پیشرفت بارگذاری میتواند پوشش قاعده مرتبط را تحت تأثیر قرار دهد. استفاده از یک سرویس حفاظتی نباید به فرض پوشش کامل همه مسیرهای مستقیم سرور منجر شود.
پس از نصب اصلاحیه چگونه احتمال نفوذ قبلی را بررسی کنیم
وصله کردن، راه سوءاستفاده از آسیبپذیری را اصلاح میکند، اما بهخودیخود نشان نمیدهد پیش از آن نفوذی رخ نداده است. برای سرویسهای حساس، بررسی سوابق وب و سیستم، اجرای غیرمنتظره فرایندها و تغییر فایلها باید در برنامه رسیدگی باشد. گزارش AWS نیز همین نوع بررسی را توصیه میکند. مشاهده یک درخواست مشکوک به معنی اثبات اجرای موفق کد نیست و باید با شواهد دیگر کنار هم قرار گیرد.
اگر نشانههای معتبر نفوذ پیدا شد، پیشنهاد اجرایی این است که رسیدگی به رخداد از یک بهروزرسانی عادی جدا شود. پیش از حذف فایلها یا نصب مجدد، شواهد لازم حفظ شود و مسئول امنیت درباره مهار، بررسی و بازیابی تصمیم بگیرد. تغییر اطلاعات دسترسی و کلیدهای حساس باید از محیط قابل اعتماد و متناسب با دامنه احتمالی دسترسی مهاجم انجام شود. در صورت نبود تخصص داخلی، NCSC استفاده از کمک متخصص پاسخ به رخداد را پیشنهاد کرده است.
نگهداری منظم PHP چگونه واکنش به رخدادهای بعدی را سادهتر میکند
برای مدیریت پایدار سایت، بهتر است فهرست نسخهها، تاریخ پایان پشتیبانی و مسئول بهروزرسانی همیشه مشخص باشد. پشتیبانی فعال و پشتیبانی صرفاً امنیتی نیز یکسان نیستند؛ یک شاخه ممکن است هنوز وصله امنیتی بگیرد، اما دیگر اصلاحات عادی را دریافت نکند. جدول رسمی PHP مبنای مناسبی برای برنامهریزی مهاجرت است. نزدیک شدن PHP 8.2 به پایان پشتیبانی در پایان ۲۰۲۶ نمونهای از اطلاعاتی است که باید پیش از تبدیل شدن به مسئله فوری در برنامه نگهداری دیده شود.
در یک برنامه نگهداری قابل اجرا، برای هر هشدار امنیتی سه خروجی مشخص تعریف کنید: شناسایی سرویسهای مرتبط، تصمیم فنی مستند و تأیید نتیجه. این ساختار پیشنهادی باعث میشود خبر امنیتی به اقدامی قابل پیگیری تبدیل شود. درباره PHP2Shell، نتیجه مورد انتظار شامل نصب بسته اصلاحشده، بررسی اطلاعیههای تکمیلی، تأیید اجرای واقعی نسخه جدید و بررسی متناسب احتمال نفوذ قبلی است. وضعیت هر سرویس زمانی روشن میشود که این مراحل با شواهد ثبت شده باشند.
آخرین بهروزرسانی: ۲۷ اکتبر ۲۰۲۶
