هشدار PHP دربارهی ضعف تازهی CVE-2026-115560 پس از رفع PHP2Shell
حدود ۴ دقیقه مطالعه
تیم امنیت PHP روز ۲۳ اکتبر ۲۰۲۶ یک «informational advisory» دربارهی ضعف تازهای با شناسهی CVE-2026-115560 منتشر کرد. این مورد جدا از دو آسیبپذیری PHP2Shell (CVE-2026-109618 و CVE-2026-109619) است و با نسخههای 8.5.12، 8.4.27، 8.3.36 و 8.2.35 رفع نشده. PHP آن را یک مسیر RCE «بعیدالوقوع» توصیف میکند و رفعش را به انتشار معمولی بعدی سپرده است.
ضعف تازه چیست؟
طبق اطلاعیهی رسمی، این مشکل فقط در ترکیب غیرمعمولی از تنظیمات و کد برنامه رخ میدهد. هر چهار شرط باید همزمان برقرار باشد: برنامه session.serialize_handler را در تنظیمات روی php_binary یا php_serialize بگذارد، بعد در زمان اجرا با ini_set آن را به php تغییر دهد، این کار قبل از فراخوانی session_start انجام شود، و ویژگی session upload progress هنوز روشن باشد. برنامهای که هرگز serialize handler را در زمان اجرا عوض نمیکند، میتواند upload progress را روشن نگه دارد.
نمونهی الگوی پرخطر چنین چیزی است:
// php.ini: session.serialize_handler = php_serialize
ini_set('session.serialize_handler', 'php');
session_start();
این نمونه فقط برای نشان دادن الگو است و از اطلاعیه نیامده؛ PHP خودش کد آسیبپذیر یا ریشهی فنی باگ را منتشر نکرده است.
وضعیت رفع و اقدام پیشنهادی
تیم PHP میگوید رفع را در چرخهی انتشار معمولی انجام میدهد و advisory کامل CVE-2026-115560 را با انتشار بعدی میدهد. تا آن زمان توصیهی رسمی این است:
session.upload_progress.enabled=0
همین تنظیم قبلاً برای CVE-2026-109619 هم در advisory شمارهی GHSA-6wmf-4rv5-p3rp بهعنوان راه کاهش خطر آمده بود. کسی که آن را اعمال و نگه داشته، طبق اطلاعیه کار اضافهای ندارد. طبق advisory قبلی، این تنظیم باید جایی اعمال شود که پیش از parse شدن درخواست اثر دارد: php.ini یا تنظیم pool مربوط به FPM یا تنظیم سرور، نه با ini_set و نه با فایل user.ini، و بعد restart کردن همهی workerها. اگر از upload progress داخل session استفاده میکنید، این تنظیم آن قابلیت را خاموش میکند.
برای بررسی اینکه آیا برنامهی شما در این ترکیب قرار میگیرد، این دو جستوجو کافی است. مسیرها را با پروژهی خودتان عوض کنید:
grep -rn "session.serialize_handler" /etc/php /path/to/app
php-fpm -i | grep -E "serialize_handler|upload_progress"
مقدار مؤثر را از SAPI ی واقعی بخوانید، چون CLI و FPM ممکن است فایل ini متفاوتی بخوانند.
نکتههایی که هنوز روشن نیست
تیم PHP نسخههای آسیبپذیر، امتیاز CVSS و نام گزارشدهنده را اعلام نکرده، و نگفته این ضعف ریشهی مشترکی با CVE-2026-109619 دارد یا نه. مرکز امنیت سایبری کانادا (CCCS) هم در بهروزرسانی ۲۳ اکتبر خود این مورد را جدا از دو مورد قبلی و رفعنشده با انتشارهای ۲۱ اکتبر مینامد. بهخاطر همین نباید فرض کرد نسخههای جدید ۲۱ اکتبر در برابر آن ایمناند. در شرایط وارونه هم نباید هشدارهای «فوری و رفعنشده» را بزرگنمایی کرد: خود PHP میگوید تنظیمات لازم «در عمل بعید» است. اطلاعیهی PHP از حمله به این CVE حرفی نمیزند و Security Affairs هم مینویسد حملهای گزارش نشده است.
وضعیت PHP2Shell
برای یادآوری، دو آسیبپذیری اصلی PHP2Shell در آخرین گزارشها اینطور توصیف میشوند و منابع در بعضی جزئیات اختلاف دارند:
- بهرهبرداری در محیط واقعی: watchTowr ادعا میکند honeypot اش روز ۲۱ اکتبر بهرهبرداری از هر دو CVE را دیده است. Sophos ابتدا یک مورد موفق گزارش کرد ولی بعد آن را پس گرفت و گفت تلهمتری فقط اسکن و تعداد کمی تلاش ناموفق (از جمله payload ی شبیه یک نوع Mirai) را نشان میدهد. Rapid7 و CCCS هم بهرهبرداری موفق ندیدهاند و فقط از گزارشهای تلاش حمله خبر میدهند.
- کد اثبات مفهوم (PoC): Rapid7 میگوید چند PoC عمومی وجود دارد، ولی هر کدام فقط برای ترکیب خاصی از سیستمعامل، نسخهی PHP و وبسرور کار میکند و هیچکدام بهطور گسترده قابلاعتماد نیست.
- نسخههای قدیمی: PHP برای 7.4، 8.0 و 8.1 هم backport های حداقلی روی شاخههای گیتهاب گذاشته است. نسخهی 8.2 هم در ۳۱ دسامبر ۲۰۲۶ به پایان پشتیبانی میرسد.
- منشأ نام: سایت php2shell.com کشف را به Wiz Research، OpenAI Codex Security و Calif نسبت میدهد، ولی watchTowr میگوید «PHP2Shell» نام یک ابزار PoC بود که هنگام نشت embargo پیدا شد. این دو روایت با هم نمیخوانند.
منابع:
- Informational advisory: Session upload progress and PHP news archive (php.net)
- Alert AL26-026 Critical vulnerabilities impacting PHP (Canadian Centre for Cyber Security)
- CVE-2026-109618 and CVE-2026-109619 (Rapid7)
- Proof of concept exploit released for PHP vulnerabilities (Sophos)
- PHP2Shell RCE Exploited (watchTowr)
- PHP2Shell (php2shell.com)
- PHP Warns of New Code Execution Flaw Days After PHP2Shell Patches (Security Affairs)
