تصور کنید هکری بتواند بدون داشتن نام کاربری و رمز عبور، از راه دور به سرور یک وبسایت حمله کند و در شرایط خاص حتی کدهای مخرب خود را روی آن اجرا کند. این سناریو دیگر صرفاً یک فرضیه نیست؛ در اکتبر ۲۰۲۶، دو آسیبپذیری بحرانی در PHP شناسایی شدند که نگرانی جدی کارشناسان امنیت سایبری را به دنبال داشتهاند.
این آسیبپذیریها که با نام PHP2Shell شناخته میشوند، به دلیل گستردگی استفاده از PHP در زیرساخت اینترنت اهمیت زیادی دارند. بسیاری از وبسایتها، از جمله سایتهای ساختهشده با وردپرس، جوملا و دروپال، برای اجرای بخشهایی از سیستم خود به این زبان برنامهنویسی وابسته هستند.
گروه توسعهدهنده PHP در ۲۱ اکتبر ۲۰۲۶ نسخههای امنیتی جدیدی منتشر کرد تا این دو مشکل را برطرف کند. اکنون مهمترین سؤال برای مدیران سایتها این است: آیا وبسایت شما در معرض خطر قرار دارد و برای جلوگیری از حمله چه کاری باید انجام دهید؟
آسیبپذیری PHP2Shell چیست و چرا اینقدر جدی است؟
PHP یکی از زبانهای برنامهنویسی پرکاربرد برای توسعه وب است. سیستم مدیریت محتوای وردپرس نیز برای اجرای بخش مهمی از عملکرد خود از PHP استفاده میکند؛ بنابراین امنیت این زبان میتواند مستقیماً بر امنیت تعداد زیادی از وبسایتها تأثیر بگذارد.
بر اساس گزارش منتشرشده توسط شرکت امنیت سایبری Wiz در ۲۱ اکتبر ۲۰۲۶، دو نقص امنیتی در هسته PHP شناسایی شدهاند که در شرایط مشخص میتوانند امکان اجرای کد از راه دور را برای مهاجم فراهم کنند.
اجرای کد از راه دور یا Remote Code Execution که معمولاً با مخفف RCE شناخته میشود، یکی از جدیترین انواع آسیبپذیریهای امنیتی است. در چنین حملهای، مهاجم ممکن است بتواند بدون دسترسی مجاز قبلی، دستورات دلخواهی را در محیط سرور اجرا کند.
شدت این دو آسیبپذیری با امتیاز ۹.۲ از ۱۰ در سیستم امتیازدهی CVSS نسخه ۴ ارزیابی شده است. البته این عدد به معنی هکشدن قطعی همه سایتهای PHP نیست؛ میزان خطر واقعی به نسخه نرمافزار، تنظیمات سرور و شرایط اجرای حمله بستگی دارد.
اهمیت ماجرا در این است که مشکل فقط به یک افزونه یا قالب خاص وردپرس محدود نمیشود. آسیبپذیری در خود محیط اجرای PHP قرار دارد و به همین دلیل، بهروزرسانی افزونهها بهتنهایی راهحل کافی برای برطرفکردن آن نیست.
دو آسیبپذیری خطرناک PHP چه هستند؟
این دو نقص امنیتی شناسههای مشخصی دارند که مدیران سرورها و کارشناسان امنیت میتوانند از آنها برای بررسی وضعیت سیستمهای خود استفاده کنند.
۱. آسیبپذیری CVE-2026-109618
اولین آسیبپذیری به نحوه مدیریت خطاهای کمبود حافظه در PHP مربوط است.
PHP برای جلوگیری از مصرف بیش از اندازه منابع سرور، محدودیتهایی مانند memory_limit دارد. هنگامی که یک درخواست باعث عبور از این محدودیت شود، موتور PHP باید فرایند جاری را بهدرستی متوقف و منابع مربوط به آن را پاکسازی کند.
مشکل زمانی ایجاد میشود که فرایند مدیریت خطا در شرایط خاص، پیش از آمادهشدن کامل اطلاعات داخلی درخواست متوقف شود. در چنین وضعیتی، عملیات پاکسازی حافظه ممکن است با دادههای ناقص یا نامعتبر سروکار پیدا کند.
این وضعیت میتواند زمینه را برای خرابشدن حافظه و در شرایط مشخص اجرای کد مخرب فراهم کند.
نکته مهم این است که این نقص صرفاً به یک افزونه مشخص در وردپرس وابسته نیست و در سطح موتور PHP قرار دارد.
۲. آسیبپذیری CVE-2026-109619
دومین آسیبپذیری به باقیماندن وضعیت داخلی نامعتبر در حافظه مربوط میشود.
در شرایط خاص، بخشی از اطلاعات مرتبط با یک درخواست ممکن است پس از آزادشدن حافظه همچنان در وضعیت داخلی پردازش باقی بماند. اگر درخواست بعدی در همان پردازش با این وضعیت مواجه شود، PHP ممکن است پیش از مقداردهی مجدد صحیح، از اطلاعاتی استفاده کند که دیگر معتبر نیستند.
این مسئله از خانواده مشکلاتی است که در برنامهنویسی با عنوان استفاده از حافظه آزادشده یا Use-After-Free شناخته میشوند.
در صورت بهرهبرداری موفق از این نقص، مهاجم میتواند در شرایط مناسب به اجرای کد از راه دور دست پیدا کند.
هر دو آسیبپذیری با شناسههای فوق در گزارشهای امنیتی منتشرشده در اکتبر ۲۰۲۶ ثبت شدهاند و بهروزرسانی PHP مهمترین اقدام برای مقابله با آنهاست.
آیا سایتهای وردپرسی هم در معرض خطر هستند؟
بله، سایتهای وردپرسی نیز باید وضعیت نسخه PHP خود را بررسی کنند.
بسیاری از مدیران وبسایتها تصور میکنند اگر وردپرس، قالبها و افزونههای خود را بهروز نگه دارند، امنیت سایتشان تضمین میشود. در حالی که این فقط بخشی از ماجراست.
وردپرس برای اجرای بخش مهمی از کدهای خود به PHP متکی است. اگر نسخه PHP نصبشده روی سرور آسیبپذیر باشد، بهروزرسانی خود وردپرس لزوماً این مشکل را برطرف نمیکند.
این موضوع درباره سایتهای جوملا، دروپال و دیگر برنامههای مبتنی بر PHP نیز صدق میکند.
با این حال، آسیبپذیر بودن نسخه PHP به این معنی نیست که همه سایتهای استفادهکننده از آن حتماً هک شدهاند. برای ارزیابی ریسک باید نسخه دقیق PHP، شیوه اجرای آن، تنظیمات سرور و وضعیت بهروزرسانی بررسی شود.
چه سایتهایی باید سریعتر بررسی شوند؟
- سایتهایی که نسخه قدیمی PHP را اجرا میکنند.
- فروشگاههای اینترنتی دارای اطلاعات کاربران و سفارشها.
- سایتهایی که از PHP برای پردازش فایلهای آپلودشده استفاده میکنند.
- وبسایتهایی که روی سرورهای عمومی و در دسترس اینترنت قرار دارند.
- سایتهایی که مدیر هاست آنها از بهروزرسانیهای امنیتی اخیر اطلاع دقیقی ندارد.
در واقع، مدیران سایتهای کوچک نیز نباید این هشدار را نادیده بگیرند. یک وبسایت شخصی یا وبلاگ هم ممکن است حاوی اطلاعات ورود، اطلاعات کاربران یا اعتبارنامههای مورد استفاده در سرویسهای دیگر باشد.
کدام نسخههای PHP این آسیبپذیریها را برطرف کردهاند؟
تیم توسعه PHP در ۲۱ اکتبر ۲۰۲۶ نسخههای امنیتی جدیدی منتشر کرد. نسخههای زیر شامل اصلاحات مربوط به دو آسیبپذیری مورد بحث هستند:
| شاخه PHP | نسخه اصلاحشده |
|---|---|
| PHP 8.5 | 8.5.12 |
| PHP 8.4 | 8.4.27 |
| PHP 8.3 | 8.3.36 |
| PHP 8.2 | 8.2.35 |
اگر وبسایت شما از یکی از این شاخهها استفاده میکند، باید بررسی کنید که آیا نسخه نصبشده به نسخه اصلاحشده رسیده است یا خیر.
برای نمونه، اگر سایت شما با PHP 8.4.20 اجرا میشود، صرفاً استفاده از شاخه 8.4 به معنای ایمن بودن آن نیست. نسخه باید به نسخه اصلاحشده یا نسخه جدیدتر و امن همان شاخه ارتقا پیدا کند.
توجه: درباره نسخههای قدیمیتر یا توزیعهای لینوکسی که بستههای PHP را با اصلاحات اختصاصی منتشر میکنند، باید اطلاعیه تأمینکننده همان نسخه بررسی شود. در این موارد، شماره نسخه بهتنهایی همیشه معیار کافی برای تشخیص وضعیت امنیتی نیست.
چگونه نسخه PHP سایت وردپرسی خود را بررسی کنیم؟
اگر مدیر یک سایت وردپرسی هستید، برای بررسی وضعیت PHP میتوانید از روشهای زیر استفاده کنید.
روش اول: بررسی از داخل پیشخوان وردپرس
۱. وارد پیشخوان وردپرس شوید.
۲. از منوی «ابزارها» به بخش «سلامت سایت» بروید.
۳. روی تب «اطلاعات» کلیک کنید.
۴. بخش «سرور» را باز کنید.
۵. نسخه PHP مورد استفاده سایت را بررسی کنید.
این روش به شما کمک میکند بفهمید سایت با چه نسخهای از PHP اجرا میشود؛ اما برای بهروزرسانی آن باید از امکانات هاست یا مدیر سرور کمک بگیرید.
روش دوم: بررسی از طریق کنترل پنل هاست
در بسیاری از هاستهای اشتراکی، امکان مشاهده یا تغییر نسخه PHP از طریق کنترل پنل وجود دارد.
اگر از cPanel استفاده میکنید، بسته به تنظیمات شرکت میزبانی، ممکن است گزینههایی مانند MultiPHP Manager یا Select PHP Version را مشاهده کنید.
در این بخش معمولاً میتوانید نسخه PHP اختصاصیافته به دامنه خود را بررسی کنید.
نام و محل دقیق این گزینهها ممکن است بسته به شرکت میزبانی متفاوت باشد.
روش سوم: تماس با پشتیبانی هاست
اگر به تنظیمات PHP دسترسی ندارید یا نمیدانید کدام نسخه برای سایت شما مناسب است، بهتر است از پشتیبانی هاست بخواهید وضعیت امنیتی را بررسی کند.
میتوانید این پیام را برای شرکت میزبانی ارسال کنید:
«با توجه به انتشار اصلاحیههای امنیتی PHP در تاریخ ۲۱ اکتبر ۲۰۲۶ برای آسیبپذیریهای CVE-2026-109618 و CVE-2026-109619، لطفاً بررسی کنید نسخه PHP اختصاصیافته به دامنه من بهروز و شامل اصلاحات امنیتی مربوطه باشد. در صورت نیاز، لطفاً نسخه مناسب و امن را با حفظ سازگاری سایت بهروزرسانی کنید.»
این روش برای افرادی که از هاست اشتراکی استفاده میکنند، معمولاً سادهتر و مطمئنتر است.
اگر سایت ما روی هاست اشتراکی باشد، چه کاری باید انجام دهیم؟
در هاست اشتراکی، مدیریت زیرساخت سرور معمولاً بر عهده شرکت میزبانی است؛ با این حال، بهتر است تصور نکنید که تمام بهروزرسانیهای امنیتی بهصورت خودکار و بدون نیاز به پیگیری انجام میشوند.
برای محافظت از سایت خود این مراحل را دنبال کنید:
۱. نسخه PHP را بررسی کنید. ابتدا مشخص کنید سایت با کدام نسخه PHP اجرا میشود.
۲. از شرکت هاستینگ تأیید بگیرید. از پشتیبانی بخواهید بررسی کند که اصلاحیههای امنیتی مربوط به PHP2Shell اعمال شده باشند.
۳. پیش از تغییر نسخه، از سایت نسخه پشتیبان تهیه کنید. این کار برای جلوگیری از مشکلات احتمالی سازگاری اهمیت دارد.
۴. سازگاری وردپرس، قالب و افزونهها را بررسی کنید. ارتقای نسخه PHP باید با توجه به نیازهای نرمافزاری سایت انجام شود.
۵. پس از بهروزرسانی، سایت را آزمایش کنید. صفحه اصلی، ورود به پیشخوان، فرمها، جستوجو، خرید و پرداخت را بررسی کنید.
اگر شرکت میزبانی اعلام کرد که نسخه مورد استفاده شما دیگر پشتیبانی امنیتی ندارد، درباره مهاجرت به یک نسخه پشتیبانیشده و اصلاحشده مشورت کنید.
نکته مهم این است که تغییر نسخه PHP از کنترل پنل، بدون بررسی سازگاری سایت، همیشه بهترین اقدام نیست. هدف باید رسیدن به نسخهای امن و پشتیبانیشده باشد، نه صرفاً انتخاب جدیدترین شماره موجود.
آیا نصب افزونه امنیتی وردپرس مشکل را حل میکند؟
افزونههای امنیتی وردپرس میتوانند برای شناسایی فعالیتهای مشکوک، محدودکردن تلاشهای ورود غیرمجاز، بررسی برخی تغییرات فایلها و تقویت امنیت سایت مفید باشند.
اما این ابزارها جایگزین اصلاح آسیبپذیری در موتور PHP نیستند.
اگر مشکل در سطح محیط اجرای PHP وجود داشته باشد، نصب یک افزونه امنیتی بهتنهایی نمیتواند تضمین کند که سرور در برابر آن ایمن شده است.
همچنین استفاده از فایروال برنامه وب یا WAF ممکن است در برخی شرایط به کاهش ریسک کمک کند؛ با این حال، نباید آن را جایگزینی کامل برای نصب نسخه اصلاحشده PHP دانست.
راهکار اصلی همچنان بهروزرسانی امن PHP و بررسی وضعیت سرور است.
آیا هکرها میتوانند از این آسیبپذیری برای سرقت اطلاعات استفاده کنند؟
در صورت بهرهبرداری موفق از آسیبپذیریهای اجرای کد از راه دور، پیامدها میتوانند جدی باشند؛ اما نتیجه حمله به سطح دسترسی مهاجم، تنظیمات سرور و معماری برنامه بستگی دارد.
برخی از خطرهای احتمالی عبارتاند از:
- دسترسی غیرمجاز به فایلهای برنامه در محدوده مجوزهای فرایند آسیبدیده.
- تلاش برای سرقت اطلاعات ورود یا اعتبارنامههایی که در محیط سرور قابل دسترسی هستند.
- تغییر فایلهای سایت یا تزریق کد مخرب.
- استفاده از منابع سرور برای فعالیتهای غیرمجاز.
- تلاش برای دسترسی به سرویسها یا دادههای دیگر در صورت وجود ضعفهای امنیتی مکمل.
این موارد سناریوهای احتمالی پس از بهرهبرداری موفق هستند، نه نشانهای از اینکه تمام این اتفاقات برای هر سایت آسیبپذیر رخ میدهند.
از سوی دیگر، صرف مشاهده نسخه قدیمی PHP نیز به معنی نفوذ به سایت نیست. برای تشخیص حمله احتمالی باید گزارشهای سرور، فایلهای سایت، حسابهای کاربری و سایر نشانههای امنیتی بررسی شوند.
نقش هوش مصنوعی در کشف آسیبپذیریهای جدید چیست؟
یکی از جنبههای قابل توجه این خبر، نقش ابزارهای هوش مصنوعی در روند جدید تحقیقات امنیتی است.
در سالهای اخیر، استفاده از هوش مصنوعی برای تحلیل کد، شناسایی الگوهای غیرعادی، بررسی مسیرهای اجرای برنامه و کمک به پژوهشگران امنیتی گسترش یافته است.
در پرونده PHP2Shell نیز گزارشهای منتشرشده به استفاده از روشهای مبتنی بر هوش مصنوعی در فرایند کشف و بررسی آسیبپذیریها اشاره دارند.
با این حال، نباید چنین اتفاقی را به این معنا دانست که هوش مصنوعی بهتنهایی تمام آسیبپذیریها را کشف کرده یا میتواند امنیت یک نرمافزار را تضمین کند. شناسایی، تأیید، ارزیابی شدت و انتشار اصلاحیه همچنان به فرایندهای تخصصی مهندسی نرمافزار و امنیت نیاز دارد.
از طرف دیگر، همین ابزارها میتوانند در اختیار مهاجمان نیز قرار بگیرند و به آنها در تحلیل کد، شناسایی نقاط ضعف و خودکارسازی برخی مراحل حمله کمک کنند.
به همین دلیل، رقابت میان ابزارهای دفاعی و تهاجمی مبتنی بر هوش مصنوعی احتمالاً در سالهای آینده اهمیت بیشتری پیدا خواهد کرد.
اگر سایت شما بهروز است، باز هم باید نگران باشید؟
اگر نسخه PHP سایت شما به نسخه اصلاحشده ارتقا پیدا کرده باشد، خطر ناشی از همین دو آسیبپذیری مشخص کاهش پیدا میکند؛ اما این اقدام به معنی امنیت کامل سایت نیست.
امنیت وبسایت به مجموعهای از عوامل وابسته است، از جمله:
- استفاده از نسخههای پشتیبانیشده PHP و وردپرس.
- بهروزرسانی منظم قالبها و افزونهها.
- استفاده از رمزهای عبور قوی و احراز هویت دومرحلهای.
- محدودکردن دسترسی کاربران به حداقل سطح مورد نیاز.
- نگهداری نسخه پشتیبان سالم و قابل بازیابی.
- بررسی گزارشهای امنیتی و فعالیتهای مشکوک.
- محافظت از اطلاعات ورود، کلیدهای API و اطلاعات حساس در محیط سرور.
اگر پیش از نصب اصلاحیه، سرور شما در معرض حمله بوده است، بهروزرسانی بهتنهایی ثابت نمیکند که هیچ نفوذی رخ نداده است. در صورت مشاهده تغییرات غیرعادی، فایلهای ناشناس یا فعالیت مشکوک، بررسی امنیتی دقیقتری لازم خواهد بود.
جمعبندی؛ مدیران سایتها چه کاری باید انجام دهند؟
آسیبپذیریهای PHP2Shell یادآوری میکنند که امنیت وبسایت فقط به انتخاب رمز عبور مناسب یا نصب افزونه امنیتی وابسته نیست. زیرساختی که سایت روی آن اجرا میشود نیز باید بهروز و ایمن باقی بماند.
دو آسیبپذیری CVE-2026-109618 و CVE-2026-109619 در اکتبر ۲۰۲۶ شناسایی شدند و تیم PHP برای رفع آنها نسخههای امنیتی جدیدی منتشر کرد.
اگر صاحب یک سایت وردپرسی، فروشگاه اینترنتی یا وبسایت مبتنی بر PHP هستید، بهتر است همین حالا نسخه PHP را بررسی کنید و از شرکت میزبانی بخواهید وضعیت نصب اصلاحیههای امنیتی را تأیید کند.
مهمتر از همه، از تغییر عجولانه نسخه PHP بدون تهیه نسخه پشتیبان و بررسی سازگاری سایت خودداری کنید. یک بهروزرسانی درست و اصولی میتواند از مشکلات امنیتی جدی جلوگیری کند؛ در حالی که بیتوجهی به اصلاحیهها ممکن است ریسک غیرضروری برای سایت و اطلاعات کاربران ایجاد کند.
پرسشهای متداول
۱. PHP2Shell چیست؟
PHP2Shell نامی است که برای مجموعهای از دو آسیبپذیری بحرانی PHP به کار رفته است. این نقصها در شرایط مشخص میتوانند امکان اجرای کد از راه دور را فراهم کنند.
۲. آیا همه سایتهای وردپرسی هک شدهاند؟
خیر. آسیبپذیر بودن یک نسخه نرمافزاری به معنای هکشدن قطعی همه سایتهای استفادهکننده از آن نیست. با این حال، مدیران سایتها باید نسخه PHP و وضعیت اصلاحیههای امنیتی را بررسی کنند.
۳. کدام نسخههای PHP این مشکل را برطرف کردهاند؟
نسخههای PHP 8.5.12، 8.4.27، 8.3.36 و 8.2.35 شامل اصلاحیههای مربوط به این دو آسیبپذیری هستند. برای شاخههای قدیمیتر یا بستههای اختصاصی توزیعهای لینوکس، باید وضعیت پشتیبانی و اصلاحیههای تأمینکننده بررسی شود.
۴. آیا بهروزرسانی افزونههای وردپرس کافی است؟
خیر. از آنجا که مشکل در هسته PHP قرار دارد، بهروزرسانی افزونهها بهتنهایی آن را برطرف نمیکند. نسخه PHP سرور نیز باید اصلاح شده باشد.
۵. اگر به تنظیمات سرور دسترسی نداشته باشیم چه کنیم؟
اگر از هاست اشتراکی استفاده میکنید، با پشتیبانی شرکت میزبانی تماس بگیرید و درباره نصب اصلاحیههای امنیتی PHP سؤال کنید.
۶. آیا نصب افزونه امنیتی جلوی این حمله را میگیرد؟
افزونههای امنیتی میتوانند بخشی از لایه دفاعی سایت باشند، اما جایگزین بهروزرسانی PHP نیستند. برای رفع مشکل باید نسخه اصلاحشده PHP روی سرور اجرا شود.


