PHP2Shell свали правителствени сайтове в ЕС и Канада

Правителствени сайтове в Нидерландия, Дания, Франция, Финландия и Канада бяха свалени офлайн на 21 октомври, часове преди PHP да пусне извънредни кръпки за две критични дупки, позволяващи изпълнение на код без влизане в системата. Engadget съобщава, че решението е превантивно — администрациите предпочетоха да изгасят услугите, вместо да рискуват компрометиран сървър. Двата пропуска са открити с помощта на AI модели на OpenAI и Google.
Какво точно е счупено
Става дума за CVE-2026-109618 и CVE-2026-109619, получили общото име PHP2Shell. Първият е повреда на паметта при изчерпване на RAM: ако заявката остане без памет по средата на инициализацията, почистването после третира полуготови вътрешни данни като валидни. Вторият е остаряло глобално състояние — вътрешни структури надживяват освободената си памет и следваща заявка на същия worker може да ги използва, преди да са занулени.
И двата носят оценка 9.2 по CVSS 4.0 и водят до неавтентикирано изпълнение на код. PHP Foundation изрично уточни, че изтеклите преди релийза CVE записи с оценка 10.0 са били грешни.
Поправките излязоха около 14:00 UTC на 21 октомври в PHP 8.5.12, 8.4.27, 8.3.36 и 8.2.35, плюс backport-и в изходен код за вече неподдържаните 7.4, 8.0 и 8.1. Уязвимият код е от 2012 г. — засегната е всяка версия от PHP 5.4 нататък. Ubuntu раздаде пакети чак до Trusty 14.04 през ESM.
Ако сте следили предварителния ни материал за двете дупки, това е развръзката: кръпките излязоха навреме, но не и преди първите атаки.
Кой изгаси какво
Нидерландската агенция за киберсигурност свали собствения си сайт като предпазна мярка. В Канада министърът на изкуствения интелект и цифровите иновации Еван Соломон потвърди, че част от федералните сайтове са временно изключени по препоръка на Canadian Centre for Cyber Security и ще се върнат, след като кръпките бъдат приложени. Извън държавния сектор Wikipedia, Internet Archive и 4chan също затвориха части от услугите си.
Мащабът обяснява паниката. PHP обслужва около 69,3% от сайтовете с известен сървърен език. Сканирания отчитат 5,1 милиона IP адреса с PHP, от които 758 000 на версии без поддръжка, а изследователски оценки говорят за над 1,3 милиона изложени на интернет хоста. Cisco Talos допуска, че близо половината от уязвимите системи никога няма да получат кръпка.
„Всички сървъри с която и да е версия на PHP от последните 20 години ще бъдат уязвими“, заяви Тифани Фарис, временен изпълнителен директор на Drupal Association, пред Engadget. Потвърдено уязвими са Magento 2.4.9, WordPress 7.1.2, Drupal 11.4.3, Joomla 6.1.4, MediaWiki 1.46.2, Nextcloud 35.0.1, Laravel 13.11 и Symfony 8.1.
AI моделите като откриватели
Най-любопитната част е как изобщо намериха бъговете. Според The Decoder фирмата за сигурност Calif е открила единия пропуск с GPT-5.6 Sol в рамките на инициативата Patch the Planet на OpenAI и го е докладвала на 11 август 2026 г. Независимо от нея Wiz намира и двата с платформата си Wiz Atlas заедно с Gemini 4 Argon на Google — моделът е свършил работа не само при откриването, а и при писането на exploit, при изграждането на детекция и при валидирането на кръпката.
PHP Foundation благодари на Calif, OpenAI, Wiz и Trail of Bits и съобщи, че сама ползва Claude Mythos и Daybreak Red на OpenAI в новия си Ecosystem Security Team, създаден през май 2026 г.
Обратната страна е очевидна: същите модели свалят летвата и за нападателите, защото автоматизират пренасянето на exploit между различни версии и конфигурации. Amazon Threat Intelligence е засякла първите опити в honeypot мрежата си още на 17 октомври — четири дни преди публичното оповестяване. Cloudflare отчита атаки в 07:43 UTC на 21 октомври, преди релийза.
Ембаргото се счупи
The Register описва и скандала около координираното оповестяване. CVE идентификаторите изтекоха ден по-рано, а Chainguard публикува закърпени контейнерни образи повече от шест часа преди официалния релийз. „Всеки нападател вече можеше да изучи поправката в двоичен вид“, оплака се PHP Foundation пред The Record. Дан Лоренц от Chainguard отвърна, че координираното оповестяване важи, „освен ако няма доказателства за активни атаки“, и че „хората вече ги удряха“.
Самата фондация призна, че забавянето от доклада през август до кръпката е „структурен провал“ заради процеса на решения и липсата на ресурси в security екипа.
Какво да направите
Обновете до 8.5.12, 8.4.27, 8.3.36 или 8.2.35 веднага — това е единственото реално решение. Ако сте на 8.1 или по-стара версия, backport-ите са в изходен код и най-вероятно ще дойдат през дистрибуцията ви. Проверете логовете за заявки с едно поле от около 3,5 MB с двоични данни, за фатални грешки „Allowed memory size exhausted … in Unknown on line 0“ и за worker процеси, които раждат shell. След десетката в GitLab това е вторият случай за месеца, в който стар код се оказва отворена врата — разликата е, че този път вратата е на 70% от уеба.
Харесва ви? Отбележете ни и ще ни виждате по-нагоре в Google.
Предпочитан източник в Google