PHP2Shell: هوش مصنوعی RCE حیاتی را در PHP آشکار می کند
https://www.php2shell.com/ آدرس نظرات: https://news.ycombinator.com/item?id=50180836 امتیاز: 323 # نظر: 103
Wiz Research چندین آسیبپذیری حیاتی را در هسته PHP، یک زبان برنامهنویسی عمومی همه منظوره که ۷۰ درصد از تمام وبسایتهای دنیا را قدرت میدهد، کشف کرد. بهرهبرداری موفقیتآمیز میتواند به مهاجمان اجازه دهد تا کنترل سرورهای آسیبدیده را در دست بگیرند، دادههای حساس را بدزدند و وبسایتهایی را که روی آنها اجرا میشوند را تخریب کنند.
پی اچ پی ستون فقرات وب است: این زبان برنامه نویسی است که وردپرس، جوملا، دروپال، مدیاویکی ویکی پدیا و بسیاری دیگر را تقویت می کند.
این آسیبپذیریها شامل افشای حافظه و اجرای کد از راه دور تایید نشده در خود PHP، مستقل از برنامهای که در بالای آن اجرا میشود، میشود که هر وبسایت آسیبدیده را در معرض خطر فوری قرار میدهد.
هر نسخه PHP منتشر شده در دهه گذشته حداقل تحت تأثیر یکی از این آسیب پذیری ها قرار می گیرد که به نسخه 5.4 برمی گردد. مهاجمان می توانند از راه دور از آنها سوء استفاده کنند، در برخی موارد به راحتی. اکیدا پچ کردن فوری توصیه می شود.
در 21 اکتبر 2026، PHP وصلهای را منتشر کرد که چندین آسیبپذیری ایمنی حافظه در موتور اصلی را برطرف میکرد.
این یافته ها در زمره شدیدترین آسیب پذیری های کشف شده در PHP و احتمالا در تاریخچه نرم افزار قرار دارند. نقصهای اساسی دههها وجود داشت، اما نشان دادن قابلیت بهرهبرداری از آنها به زنجیرهای از مراحل بسیار پیچیده نیاز داشت، در لبه چیزی که محققین انسانی عملا میتوانستند به آن دست یابند. مدلهای هوش مصنوعی مرزی این مانع را به میزان قابل توجهی کاهش دادند و یک نقص قدیمی را به یک سوء استفاده تبدیل کردند.
در این پست، توضیح میدهیم که چگونه هوش مصنوعی مرزی به ما کمک کرد تا آسیبپذیریهایی را که بیش از یک دهه در پایگاه کد پیاچپی پنهان مانده بودند، پیدا کرده و برطرف کنیم. مسائلی که در زیر توضیح داده میشوند، همگی از تصمیمات کلیدی معماری ناشی میشوند، برخی از آنها بیش از یک دهه پیش گرفته شدهاند، و تحت دو CVE گروهبندی شدهاند که شدت آن به CVSS 9.2 میرسد. این کار به یک تلاش بینصنعتی برای محافظت از مشتریان، یافتن انواع مختلف، استقرار تشخیصها و کاهشدهندهها، و تأیید یک وصله به موقع برای افشای هماهنگ تبدیل شد.
تقریبا هر نسخه PHP تحت تأثیر حداقل یکی از این مشکلات است، از جمله نسخههایی که به PHP 5.4 برمیگردد. این آسیبپذیریها میتوانند به مهاجمان احراز هویت نشده اجازه دهند تا کد را روی سرورهای آسیبدیده اجرا کنند یا حافظه پردازش حساس را بخوانند. آن حافظه ممکن است حاوی رمزهای عبور، نشانههای احراز هویت، کلیدهای API و گواهیهای متعلق به سایر درخواستها یا خود سرور باشد.
پی اچ پی زبان برنامه نویسی پشت بسیاری از وب است که وردپرس، دروپال و مدیاویکی، نرم افزاری که ویکی پدیا را اجرا می کند، نیرو می دهد. نقص در موتور اصلی آن میتواند بر روی وبسایتها در سراسر این اکوسیستم تأثیر بگذارد، حتی زمانی که کد برنامه خودشان امن باشد.
برخی از آسیبپذیریها به نقاط عطف تبدیل میشوند، زیرا مفروضات اساسی در مورد امنیت را به چالش میکشند. در سال 2014، Heartbleed شکنندگی زیرساخت های مشترک را که امنیت اینترنت را تامین می کرد، آشکار کرد. در سال 2021، Log4Shell نشان داد که چگونه وابستگیهای نرمافزاری عمیق تعبیهشده میتواند در معرض دید گستردهای ایجاد کند که سازمانها برای شناسایی آن تلاش میکردند. ما معتقدیم PHP2Shell میتواند نقطه عطف مشابهی را برای عصر هوش مصنوعی رقم بزند و نشان دهد که چگونه هوش مصنوعی میتواند قابلیت بهرهبرداری عملی از آسیبپذیریهای قدیمی را تغییر دهد.
ایجاد اکسپلویت مستلزم زنجیر کردن چندین نقص و انطباق با چیدمان حافظه هر هدف از طریق آزمایش و اشکال زدایی مکرر است. مدلهای مرزی برای عملی کردن این فرآیند بسیار مهم بودند و ما را قادر میسازند تا در چند ساعت اکسپلویتهای کاری را در چندین برنامه کاربردی توسعه دهیم و تطبیق دهیم. با کاهش زمان و تخصص مورد نیاز برای این کار، پیچیدگی ممکن است دیگر مانع معناداری ایجاد نکند و نحوه تعریف ما از آسیب پذیری را در عمل تغییر دهد.
Wiz Research مایل است از تیم PHP، Calif و OpenAI برای کارشان در زمینه کشف، هماهنگی و تأیید وصله تشکر کند. OpenAI و Calif همچنین وبلاگهایی را منتشر کردند که حاوی جزئیات مربوط به آسیبپذیری - تاریخچه، جزئیات فنی، و بینش فرآیند افشای آن است. پی اچ پی هم پست کرد.
ما همچنین میخواهیم از Automattic، Akamai، AWS، Cloudflare، Fastly، Google، Imperva، Microsoft، Vercel و بسیاری دیگر صمیمانه تشکر کنیم، برای کمک به آمادهسازی راهنماییها و کاهشهای خارج از جعبه برای مشتریانی که نمیتوانند فورا وصله را اعمال کنند.
همه آسیبپذیریهای فاششده، مسائل مربوط به ایمنی حافظه هستند که از اشکالاتی در نحوه رسیدگی به خطاهای مرگبار PHP در هنگام پردازش درخواستها، بهویژه خطاهای خارج از حافظه، ناشی میشوند. این اشکالات می توانند پس از پایان غیرمنتظره درخواست، یک حالت PHP داخلی خراب را پشت سر بگذارند. یک درخواست یا کارگر بعدی میتواند از حالت بیات استفاده مجدد کند، که منجر به افشای حافظه یا خراب شدن آن میشود.
در زیر میتوانید جدولی را بیابید که نشان میدهد هر یک از اشکالاتی که به PHP گزارش کردهایم چه نوع تأثیری نشان داده است. برنامه های ذکر شده در زیر اهدافی هستند که ما برای نمایش RCE انتخاب کردیم. آنها اهدافی نماینده هستند - بهره برداری به یکی از این CMS ها نیاز ندارد، زیرا کد آسیب پذیر در خود PHP است.
افشای احراز هویت نشده حافظه کارگر PHP
احراز هویت پیش از RCE در وردپرس، دروپال و جوملا
افشای حافظه از راه دور کاربردی-اگنوستیک
در حالی که این وبلاگ تنها چهار مورد از باگ های قابل بهره برداری (گروه بندی شده در دو CVE) را پوشش می دهد که از این الگوی مشکل ساز پیروی می کنند، انواع دیگری که ردیابی شده و احتمالا ردیابی نشده اند در پایگاه کد PHP وجود دارد. این گونهها نیازمندیهای متفاوتی برای بهرهبرداری دارند و میتوانند به انواع مختلفی از تأثیرات منجر شوند. در هر صورت، پچ ارائه شده توسط تیم PHP مشکل را در هسته خود برطرف می کند و همه انواع نسخه های وصله شده را حذف می کند.
ما این آسیبپذیریها را در یک اسکریپت اکسپلویت، php2shell، ترکیب کردیم و نشان دادیم که میتواند کد را از راه دور بدون احراز هویت در استقرار وردپرس (وردپرس:جدیدترین)، دروپال (دروپال:جدیدترین)، و جوملا (جوملا:جدیدترین)، با استفاده از آخرین تصاویر کانتینرشان در زمان آزمایش اجرا کند.
این پلتفرمها تاثیر را نشان میدهند، اما آسیبپذیریها در خود PHP وجود دارد. بهره برداری به نقص در کد برنامه بستگی ندارد: حتی یک برنامه ساده "Hello World" که روی نسخه PHP آسیب دیده اجرا می شود نیز می تواند آسیب پذیر باشد.
به طور جداگانه، ما نشان دادیم که مهاجمان میتوانند دادههای حساس را از حافظه فرآیند PHP، از جمله رمز عبور، نشانهها و کلیدهای API، بدون نیاز به اجرای کد از راه دور بخوانند.
نمایش PHP2Shell با وردپرس، جوملا و دروپال:
کد آسیب پذیر بیش از یک دهه بود که وجود داشت. تبدیل این نقصها به اکسپلویتهای کاری مستلزم زنجیرهسازی چندین باگ و محاسبه نحوه تخصیص و استفاده مجدد حافظه توسط PHP در بین درخواستها بود. اشکالات حافظه بسیار پیچیده هستند. تفاوت در نسخههای PHP، پیکربندیها و رفتار برنامهها میتواند مفروضاتی را که اکسپلویت به آنها وابسته است، از بین ببرد. حملهای که علیه یک استقرار کار میکند ممکن است نیاز به تنظیمات اساسی داشته باشد تا در برابر دیگری کار کند، که هر یک نیاز به تجزیه و تحلیل، آزمایش و اشکالزدایی بیشتری دارد. پیش از هوش مصنوعی، اجرای این کار دستی دشوار و مقیاسبندی آن حتی سختتر خواهد بود.
با هوش مصنوعی این دیگر یک مانع نیست. LLM ها می توانند به تطبیق یک اکسپلویت با نسخه های مختلف PHP، پیکربندی ها و چیدمان های حافظه کمک کنند. با استفاده از ابزارهای تست و اشکال زدایی، مدل ها می توانند شکست ها را تجزیه و تحلیل کنند و تنظیمات را تکرار کنند و تلاش متخصص مورد نیاز برای هر هدف را کاهش دهند. این به طور قابل توجهی مانع در برابر حملات مقیاس پذیر در استقرارهای مختلف را کاهش می دهد.
این امر اقتصاد کشف و بهره برداری را تغییر می دهد. از آنجایی که هوش مصنوعی تلاش لازم برای توسعه و انطباق اکسپلویت های پیچیده را کاهش می دهد، آسیب پذیری هایی که زمانی برای بهره برداری غیرعملی به نظر می رسید به اهداف قابل دوام تبدیل می شوند.
ما در طول این تحقیق از Wiz Atlas، Gemini 4 Argon و GPT-5.6 Sol استفاده کردیم. قابل ذکر است که Gemini 4 Argon سهم ارزشمندی در یافتن آسیبپذیری، توسعه اکسپلویت، تشخیص حمله و اعتبار سنجی پچ داشته است.
با استفاده از Gemini 4 Argon، تیم Wiz نشان داده است که چرا هوش مصنوعی مرزی یک تغییر دهنده بازی برای دفاع سایبری است. برای بیش از یک دهه، این آسیبپذیریهای حیاتی برطرف نشدند، زیرا کشف و بهرهبرداری از آسیبپذیری فوقالعاده پیچیده بود. ما خوشحالیم که میبینیم Gemini 4 Argon به مدافعان کمک میکند تا این شکاف را پر کنند، آسیبپذیریها را بیابند و به اصلاح آنها کمک کنند.
قبل از افشای عمومی، ویز ریسرچ با تیم پی اچ پی، کالیفرنیا و OpenAI روی کشف، هماهنگی و تأیید وصله کار می کرد. ما همچنین با Google Cloud، Cloudflare، AWS، Microsoft، Automattic، Fastly، Akamai، Imperva، Vercel و بسیاری دیگر همکاری کردیم تا راهنماییهای مشتری، شناساییها و کاهشهای خارج از جعبه را برای سازمانهایی که نمیتوانند فورا بهروزرسانی کنند، آماده کنیم.
یک آسیب پذیری در PHP اصلی بسیار فراتر از یک برنامه است. PHP در میان ابرها، ارائه دهندگان میزبانی، شبکه های تحویل محتوا و میلیون ها سرور مستقل اجرا می شود. کاهش قرار گرفتن در معرض قبل از عمومی شدن جزئیات فنی نیازمند کار هماهنگ در کل آن اکوسیستم بود.
ماژول Session PHP میتواند دادههای جلسه را در حین مدیریت آپلود-پیشرفت در همان پنجره اولیهسازی رمزگشایی کند. رمزگشا حسابداری متعلق به درخواست را در BG (غیر سریالی) ذخیره می کند. یک شکست تخصیص مرگبار می تواند این مسیر را قطع کند، پشته درخواست را از بین ببرد و وضعیت جهانی unserializer را منتشر کند.
در یک درخواست بعدی که توسط همان کارگر انجام میشود، PHP میتواند حافظه بازیابی شده توسط مهاجم را بهعنوان دفترداری غیرسریالساز زنده مصرف کند. وضعیت کهنه تبدیل به یک بدوی قدرتمند برای تخریب حافظه می شود. ما آن را با افشای حافظه ترکیب کردیم تا عدم قطعیت آدرس را حذف کنیم و به اجرای کد از راه دور تأیید نشده در وردپرس، دروپال و جوملا دست یافتیم.
زنجیرههای وردپرس، دروپال و جوملا نمایشهایی هستند. اولیه های اساسی در سطح موتور PHP وجود دارند و می توانند بر روی هر برنامه PHP که روی یک نسخه آسیب پذیر اجرا می شود تأثیر بگذارند.
PHP درخواستهای چند قسمتی RFC1867 را در هنگام راهاندازی درخواست، قبل از تکمیل اولیه ماژول معمولی، تجزیه میکند. مدیریت آپلود-پیشرفت جلسه میتواند وضعیت جلسه را در این مرحله اولیه مقداردهی کند و شناسه جلسه را در PS(id) منتشر کند. خطای خارج از حافظه می تواند درخواست را قبل از تکمیل پاکسازی لغو کند. سپس PHP پشته درخواست را از بین می برد و ممکن است PS(id) را به تخصیص آزاد شده رها کند.
در نسخههای آسیبدیده، PHP ردیابی آخرین خطای مرگبار در EG (last_fatal_error_backtrace) را حفظ میکند. یک خطای مرگبار خارج از حافظه می تواند پشته درخواست را بدون تعریف نکردن آن مقدار مجری-کلی از بین ببرد. کارگر با یک جهانی که هنوز به حافظه درخواست قبلی اشاره می کند زنده می ماند.
اگر همان کارگر در اوایل درخواست بعدی یک عیبیابی صادر کند، میتواند قبل از اینکه مجری آن حالت را مجددا مقداردهی کند، به اشارهگر دسترسی پیدا کند. سپس PHP بک تریس آویزان را از بین می برد یا به روز می کند و حافظه بازیابی شده توسط مهاجم را دنبال می کند. درخواست متقابل حاصل از استفاده پس از آزاد شدن را می توان به تخریب حافظه کنترل شده تبدیل کرد. ما اجرای کد از راه دور تایید نشده را در برابر دروپال با استفاده از این اولیه نشان دادیم.
OPcache ساختارهای PHP کامپایل شده را در حافظه مشترک ادامه میدهد و شاخصها را به نقشههای اشارهگر زمان اجرا برای هر کارگر اختصاص میدهد. کارگران این شاخص ها را از طریق یک مرز مشترک هماهنگ می کنند. در طول () zend_accel_script_persist، PHP مرز CG (map_ptr_last) محلی را پیش میبرد. مرز مشترک مربوطه را تنها پس از تکمیل ماندگاری منتشر می کند. یک شکست تخصیص بین این دو رویداد باعث میشود که پیشرفت محلی فرآیند در جای خود باقی بماند و اشیاء تا حدی باقی بماند که به شکافهایی اشاره میکنند که حالت مشترک هنوز در دسترس میداند.
هنگامی که کارگر دیگری بعدا از یکی از آن شکافها برای یک شی زمان اجرا دیگر استفاده میکند، ابرداده مشترک کهنه به یک اشارهگر از نوع اشتباه منتقل میشود. عدم تطابق یک سردرگمی نوع متقابل ایجاد می کند و وضعیت OPcache مشترک را خراب می کند. ما از این اولیه برای ساختن یک زنجیره RCE احراز هویت نشده در برابر وردپرس استفاده کردیم.
انواع دیگری خارج از این چهار باگ وجود دارد. در حالی که ما در ابتدا این چهار مورد را به PHP گزارش کردیم، از طریق این تحقیق متوجه شدیم که این آسیبپذیری عمیقا در پایگاه کد PHP ریشه دارد و نیاز به یک اصلاح جامع دارد. انواع دیگر نیز باید در زیر همان دو CVE تا شوند.
مشتریان Wiz باید به توصیه Wiz Threat Center Intel برای PHP2Shell مراجعه کنند، که شامل پوشش داخلی برای تشخیص آسیبپذیری بدون عامل و زمان اجرا، شناسایی سوء استفاده از طریق Wiz Defend و Sensor، و سیاستهای پاسخ خودکار، همراه با راهنماییهای اصلاح و شکار تهدید میشود.
مشتریان حسگر که از جدیدترین نسخه (1.0.12768) استفاده میکنند، همچنین میتوانند یک خطمشی پاسخ داخلی را برای خاتمه خودکار فرآیندهایی که رفتارهای معمول بهرهبرداری PHP2Shell را نشان میدهند، فعال کنند:
با تحت تأثیر قرار گرفتن 70 درصد اینترنت، تأثیر PHP2Shell نمی تواند اغراق آمیز باشد. نقطه عطف هوش مصنوعی را مشخص می کند. کد آسیبپذیر برای بیش از یک دهه وجود داشت – چیزی که هوش مصنوعی تغییر داد توانایی درک نقاط ضعف و تبدیل آنها به یک اکسپلویت کاری بود. با مدلهای هوش مصنوعی مرزی و ابزارهای مناسب، یک محقق تنها در یک هفته کاری را انجام داد که قبلا ماهها کار یک تیم کلاس جهانی را به خود اختصاص میداد.
این امر اقتصاد کشف و بهره برداری را تغییر می دهد. آسیبپذیریهایی که زمانی بهرهبرداری از آنها غیرعملی به نظر میرسید، به اهدافی قابل دوام تبدیل میشوند. همین قابلیتها همچنین به مدافعان فرصتی میدهد تا نقایصی را که سالها پس از بررسی دقیق باقی ماندهاند، کشف و برطرف کنند.
Wiz در طول این تحقیق از Wiz Atlas، Gemini 4 Argon و GPT-5.6 Sol استفاده کرد که Argon سهم ویژه ای در یافتن و کمک به رفع آسیب پذیری داشت.
فرصت این است که این کار را روتین کنیم: یافتن سیستماتیک نقص در نرم افزارهای موجود و کشف موارد جدید قبل از رسیدن به تولید. تلاشهای هماهنگ ما با PHP، OpenAI و Calif این هدف را پیش میبرد و از هوش مصنوعی برای تقویت پایههای نرمافزاری که همه مشترک هستیم استفاده میکنیم.
19 آگوست 2026: ویز ریسرچ اولین آسیبپذیری PHP را با استفاده از Wiz Atlas، Gemini 4 Argon و GPT-5.6 Sol کشف کرد.
20 آگوست 2026: RCE تایید نشده علیه دروپال تایید شد.
21 آگوست 2026: RCE احراز هویت نشده علیه وردپرس تأیید شد.
24 آگوست 2026: Wiz Research آسیب پذیری ها را به تیم امنیتی PHP گزارش می دهد.
21 سپتامبر 2026: PHP گزارش ها را تأیید می کند و شروع به توسعه یک اصلاح هماهنگ می کند.
21 اکتبر 2026: نسخه های وصله شده PHP در دسترس قرار گرفت.
سلام! ما Sagi Tzadik، Shir Tamari، Nir Ohfeld و Tomer Schwartz از تیم تحقیقاتی Wiz (@wiz_io) هستیم. ما گروهی از هکرهای کهنه کار کلاه سفید هستیم با یک هدف: تبدیل فضای ابری به مکانی امن برای همه. ما بر روی یافتن بردارهای حمله جدید در نرمافزار ابری و کشف مسائل جداسازی در سیستمهایی که سازمانها به آنها وابسته هستند تمرکز میکنیم. ما دوست داریم از شما در X یا در research@wiz.io بشنویم.
متن اصلی (انگلیسی)
PHP2Shell: AI uncovers critical RCE in PHP
https://www.php2shell.com/ Comments URL: https://news.ycombinator.com/item?id=50180836 Points: 323 # Comments: 103