Архив метки: PHP

Почему инцидентов с эксплуатацией PHP2Shell так мало?

Почему инцидентов с эксплуатацией PHP2Shell так мало?

Почему инцидентов с эксплуатацией PHP2Shell так мало? С самого начала PHP2Shell сравнивали с громкой уязвимостью Log4Shell (CVE-2021-44228). Однако механизмы эксплуатации этих уязвимостей существенно различаются. В случае Log4Shell злоумышленникам достаточно было отправить короткий фрагмент текста уязвимому приложению. Если приложение записывало этот текст в журнал, атака срабатывала. Один и тот же текст работал практически против любой уязвимой цели без изменений. Поэтому злоумышленники могли запускать массовые атаки, и многие из них оказывались успешными. Уязвимости PHP2Shell устроены иначе. Эксплуатация зависит от состояния кучи памяти (heap), используемого менеджера процессов, повторного использования рабочих процессов и особенностей размещения памяти в конкретной сборке. Поэтому эксплуатировать PHP2Shell не так просто, как Log4Shell.

Чтобы оценить реальную эксплуатабельность, эксперты Tenable с 24 по 29 октября выставили пять уязвимых PHP-сайтов в Интернет. Они зафиксировали массовые попытки эксплуатации PHP2Shell, но ни один ханипот в итоге не был взломан. 🤷‍♂️

В ходе анализа эксплоитов эксперты Tenable пришли к выводу, что повреждение памяти действительно существует и одним из последствий может быть раскрытие содержимого памяти. Однако добиться выполнения кода на конкретной цели сложно, причём метод эксплуатации уникален для каждой цели. Для успешного удалённого выполнения кода экспертам Tenable потребовался эксплойт, настроенный под конкретную среду, включая сборку PHP, SAPI, расширения и конфигурацию среды выполнения ("extensions and runtime configuration"). Пейлоад, работающий в одной лабораторной конфигурации, не подходит автоматически для другого дистрибутива или другой конфигурации пула PHP-FPM.

Эксперты Tenable подчёркивают, что отсутствие доказательств простой массовой эксплуатации не делает уязвимость безвредной. Злоумышленник, нацелившийся на конкретную систему, может создать подходящий эксплойт (тем более сейчас, используя AI-инструменты). Массовые атаки по сценарию Log4Shell менее вероятны, кроме систем с одинаковыми сборками, например сетевых устройств, где эксплойт достаточно настроить один раз.

Всё это не значит, что PHP2Shell можно игнорировать: условия для эксплуатации существуют, а целевые атаки на PHP-приложения вполне вероятны. Рекомендуется обновиться до PHP 8.5.12, 8.4.27, 8.3.36 или 8.2.35 либо установить исправленные пакеты дистрибутива. Для неподдерживаемых веток следует запланировать переход на актуальную версию PHP, а пока ограничить доступ из Интернет и применить меры защиты на уровне конфигурации. Для сетевого оборудования используйте исправленные сборки производителя или рекомендованные им временные меры защиты.

Рекомендуемая последовательность: сначала обновить или изолировать сетевые устройства, открытые интерфейсы управления и системы с неподдерживаемыми версиями PHP. Остальные PHP-системы обновлять по графику критических обновлений. И не забывайте о других уязвимостях, которые могут представлять более высокий риск для вашей инфраструктуры. 😉

Что там слышно по инцидентам, связанным с эксплуатацией PHP2Shell, спустя две недели?

Что там слышно по инцидентам, связанным с эксплуатацией PHP2Shell, спустя две недели?

Что там слышно по инцидентам, связанным с эксплуатацией PHP2Shell, спустя две недели? Когда 21 октября разработчики PHP готовились к релизу версий PHP с исправлением PHP2Shell (CVE-2026-109618, CVE-2026-109619), эксперты прогнозировали, что буквально через 15 минут после публикации обновления начнутся массовые атаки на уязвимые серверы. Эксперты Amazon даже сообщали о попытках эксплуатации за четыре дня до выхода патчей. На фоне этих новостей некоторые организации забили тревогу. В нескольких странах правительственные сайты и сервисы были отключены в качестве меры предосторожности.

И вот прошли две недели. Согласно данным Censys, из 46 миллионов PHP-сервисов, использующих уязвимые версии, примерно 29 миллионов по-прежнему не обновлены. Исследователи отмечали большое количество попыток эксплуатации. Новые эксплоиты продолжали появляться один за другим. Когда я готовил отчёт по октябрьскому Linux Patch Wednesday, фиксировалось более 470 ссылок на репозитории с эксплоитами PHP2Shell!

И что в итоге по реальным инцидентам?

🔻 Первое сообщение об инциденте, связанном с эксплуатацией этой уязвимости, появилось 23 октября от экспертов Palo Alto Networks. Однако через два дня, 25 октября, они отозвали это заявление. 🤷‍♂️

🔻 Убедительное подтверждение эксплуатации PHP2Shell в реальных атаках появилось только 24 октября. Серверы-ловушки, запущенные Аделем Карими из Perplexity и работавшие на PHP 8.4.26, зафиксировали успешные атаки с двух IP-адресов. Наблюдаемая цепочка эксплуатации соответствовала CVE-2026-109618. Однако на сервере-ловушке исследователя использовался модуль Apache mod_php - конфигурация, наиболее удобная для злоумышленников.

🔻 Технологическая компания Dream Group сообщила 26 октября о компрометации 25 межсетевых экранов и серверов управления в США, Японии, на Тайване и в Южной Корее. Три из них находились в инфраструктуре, предположительно связанной с государственными ведомствами США. Злоумышленники использовали PHP2Shell в сочетании с Fragnesia (CVE-2026-46300) - майской LPE-уязвимостью ядра Linux. Получив полный административный контроль, они смогли извлечь пароль служебной учётной записи LDAP, похитить список пользователей и групп, полную конфигурацию сети и закрытые ключи. В тот же день уязвимости PHP2Shell были добавлены в CISA KEV. Через два дня, 28 октября, в CISA KEV добавили и Fragnesia. Изначально эксперты Dream Group не называли производителя скомпрометированных устройств, однако в обновлении от 29 октября появилось уточнение, что речь идёт об устройствах Palo Alto Networks. По данным Dream Group, из примерно 19 000 обнаруженных устройств злоумышленники отобрали 240 потенциальных целей, из которых успешно скомпрометировали 24 межсетевых экрана. Позже они также взломали внутренний сервер управления. Palo Alto Networks подтвердили атаки на интерфейсы управления, доступные из Интернет. Компания призвала клиентов закрыть публичный доступ к этим интерфейсам, разрешить подключение только с доверенных внутренних IP-адресов и установить обновления безопасности.

Вот пока и вся раскладка по инцидентам. 🤷‍♂️ Не густо, учитывая всеобщие апокалиптические ожидания. А вот почему ожидания так серьёзно разошлись с реальностью - тема отдельная. 😉

Октябрьский Linux Patch Wednesday

Октябрьский Linux Patch Wednesday

Октябрьский Linux Patch Wednesday. Всего 4946 уязвимостей. Для сравнения, в сентябре было 2653. Рост на 86%! В Linux Kernel на этот раз 1954 уязвимости, в Chromium - 814. Вместе они составляют 56% от общего количества уязвимостей.

Для шести уязвимостей есть признаки эксплуатации в реальных атаках:

🔻 RCE - PHP "PHP2Shell" (CVE-2026-109618, CVE-2026-109619). PHP - популярный язык программирования, используемый для разработки веб-приложений. Уязвимость CVE-2026-109618 связана с некорректной обработкой нехватки памяти (OOM) и позволяет удалённо выполнить произвольный код при получении приложением специально сформированного запроса. Уязвимость CVE-2026-109619 связана с использованием устаревшего состояния глобальных данных после освобождения памяти (use-after-free) и также позволяет удалённо выполнить произвольный код при получении специально сформированного запроса. Пакеты с исправлениями в Linux-дистрибутивах начали выпускать в день раскрытия уязвимостей 21 октября. На GitHub доступны более 470 ссылок на публичные эксплоиты. Обе уязвимости были добавлены в CISA KEV 26 октября.

🔻 SFB - Linux Kernel "PwnEscape" (CVE-2026-99999). Уязвимость в сетевом стеке ядра Linux. Злоумышленник внутри гостевой виртуальной машины KVM может повредить память ядра хост-системы. Это позволяет раскрыть содержимое памяти хоста или вызвать его аварийное завершение. Исследователи продемонстрировали полноценный побег из гостевой системы на хост. Пакеты с исправлениями в Linux-дистрибутивах начали выпускать с 16 октября. Публичные эксплоиты появились на GitHub также с 16 октября. Уязвимость была добавлена в VulnCheck KEV 19 октября.

🔻 RCE - WordPress (CVE-2026-87902). WordPress - популярная система управления контентом (CMS, Content Management System), используемая для создания сайтов и блогов. Уязвимость позволяет неаутентифицированному злоумышленнику добиться удалённого выполнения произвольного кода на сервере при определённых условиях. Публичные эксплоиты доступны на GitHub с 22 сентября. Уязвимость была добавлена в CISA KEV 25 сентября. Пакеты с исправлениями уязвимости появились в Debian 28 сентября.

🔻 XSS - WordPress "Comment2Shell" (CVE-2026-93485). Уязвимость позволяет неаутентифицированному злоумышленнику внедрить JavaScript-код через специально сформированный комментарий, который выполняется в браузере пользователя при просмотре страницы. При просмотре комментария администратором, злоумышленник может перехватить его сессию и добиться выполнения произвольного кода на сервере. Уязвимость была добавлена в VulnCheck KEV 18 сентября. Публичные эксплоиты доступны на GitHub с 22 сентября. Пакеты с исправлениями в Debian доступны с 28 сентября.

🔻 AFR - Gradio (CVE-2026-28414). Gradio - библиотека Python для быстрого создания интерфейсов машинного обучения. Уязвимость позволяет неаутентифицированному злоумышленнику читать произвольные файлы на сервере Windows при использовании Python 3.13 и выше, даже если в Gradio включена аутентификация. Публичный эксплойт опубликован 27 февраля. Уязвимость была добавлена в VulnCheck KEV 31 мая. Пакеты с исправлениями в ALT Linux доступны с 1 октября.

Ещё для 335 уязвимостей пока нет признаков эксплуатации в реальных атаках, но есть публичные эксплоиты. Из них можно выделить:

🔸 EoP - Linux Kernel (CVE-2026-98260). Уязвимость типа Use-After-Free в механизме POSIX CPU timers позволяет локальному непривилегированному пользователю повысить привилегии до root-а. Исследователь v4bel продемонстрировал получение root shell на Ubuntu 26.04 с ядром 7.0.0-30-generic в рамках проекта Infinity Core. Также заявлена возможность выхода из контейнерной изоляции и повышения привилегий на Android. Пакеты с исправлениями доступны с 15 октября. Публичный эксплойт опубликован на GitHub 17 октября.

🔸 RCE - Pillow (CVE-2026-112900). Pillow - библиотека Python для обработки изображений. Злоумышленник может загрузить EPS-файл для выполнения произвольного кода на сервере. Пакеты с исправлениями в Debian доступны с 21 октября. Публичные эксплоиты доступны на GitHub с 23 октября.

🗒 Полный отчёт Vulristics (ZIP; 1.7 mb)

Публикации с моими комментариями по PHP2Shell в РБК и Российской Газете

Публикации с моими комментариями по PHP2Shell в РБК и Российской Газете

Публикации с моими комментариями по PHP2Shell в РБК и Российской Газете.

🔹 В новости РБК использовали базовую информацию об оценке критичности уязвимостей по шкале CVSS 4.0, типе уязвимости, затронутых системах и потенциальных последствиях эксплуатации, а также рекомендации по устранению.

🔹А вот в Российской Газете вышла полноценная колонка. 😇 Статья начинается с описания угрозы и оценки её масштаба, включая потенциально затронутые ресурсы в Рунете. Далее рассматриваются влияние уязвимостей на веб-сайты и инфраструктурные продукты, механизм эксплуатации и возможные последствия атак, первые признаки эксплуатации и роль искусственного интеллекта в обнаружении уязвимостей. Завершается материал практическими рекомендациями по защите инфраструктуры, установке обновлений, применению WAF и систем управления уязвимостями, сравнением с Log4Shell и выводом о необходимости защищать всю технологическую цепочку.

Важный момент в том, что эти уязвимости касаются далеко не только сайтов:

Уязвимости CVE-2026-109618 и CVE-2026-109619 затрагивают продукты, использующие PHP, включая межсетевые экраны, системы управления сетевой безопасностью и платформы развёртывания приложений. Их влияние подтвердили Palo Alto Networks для PAN-OS - операционной системы межсетевых экранов, и Panorama - централизованной платформы управления сетевыми устройствами, а также Netgate для pfSense - операционной системы для маршрутизаторов и межсетевых экранов. Разработчики Coolify, платформы для развёртывания и управления приложениями на собственных серверах, подтвердили затронутость всех веток версии 4.x. Cisco и Sophos расследуют возможное влияние уязвимостей на свои продукты.

Весьма приятно, что в финальную версию статьи вошли и упоминания конкретных продуктов Positive Technologies, помогающие защититься от этих уязвимостей:

В более защищенной позиции оказываются компании, которые защищают свой веб-периметр решениями класса WAF (Web Application Firewall). Такие инструменты блокируют нелегитимные запросы извне и попытку эксплуатации уязвимости. Важно, чтобы разработчик WAF смог быстро отреагировать на новую угрозу и занести в продукт знания о ней и логику защиты. Так, например, защита от эксплуатации PHP2Shell появилась в PT AF Cloud, продукте Positive Technologies, автоматически еще до первых каких-либо подтвержденных атак через новую уязвимость.

На фоне появления новых данных об эксплуатации PHP2Shell важно оперативно оценивать, какие системы в инфраструктуре могут быть подвержены риску. Системы управления уязвимостями, например MaxPatrol VM, помогут обратить внимание на эту угрозу: уязвимости PHP2Shell отмечены в продукте как трендовые. Специалисты смогут учитывать их при анализе защищённости инфраструктуры и планировании работ по устранению уязвимостей. Зафиксировать попытки эксплуатации уязвимости могут продукты класса NTA/NDR, например, PT NAD, а также межсетевые экраны нового поколения, такие как PT NGFW.

…

Компаниям необходимо помнить о важном принципе информационной безопасности: защищать нужно не только собственный код, но и всю технологическую цепочку, на которой он работает. Уязвимость в широко используемом компоненте может одновременно создать риски для множества независимых компаний. Поэтому своевременное обновление, инвентаризация инфраструктуры и контроль устаревшего программного обеспечения - не формальность, а необходимая часть защиты бизнеса.

Как The PHP Foundation обнаружили RCE-уязвимости PHP2Shell (CVE-2026-109618, CVE-2026-109619) и почему злоумышленники узнали о них раньше срока

Как The PHP Foundation обнаружили RCE-уязвимости PHP2Shell (CVE-2026-109618, CVE-2026-109619) и почему злоумышленники узнали о них раньше срока

Как The PHP Foundation обнаружили RCE-уязвимости PHP2Shell (CVE-2026-109618, CVE-2026-109619) и почему злоумышленники узнали о них раньше срока. Возможность эксплуатации обеих уязвимостей была наглядно продемонстрирована исследователями. Обе уязвимости затрагивают управление памятью и обработку ошибок - ключевые компоненты PHP, поэтому их устранение осложнялось необходимостью сохранить обратную совместимость и производительность, а также избежать изменений во множестве сторонних расширений.

В 2024 году PHP впервые за много лет прошёл внешний аудит безопасности, профинансированный Sovereign Tech Agency и организованный через OSTIF. Аудит провела компания Quarkslab. При устранении одной из выявленных проблем разработчик ядра PHP, работавший по контракту с PHP Foundation, обнаружил первые признаки проблемы OOM, лежащей в основе CVE-2026-109618. Тогда предположили возможность эксплуатации этой проблемы, но конкретные векторы атаки найти не удалось, и внимание переключилось на другие подтверждённые уязвимости с очевидными последствиями.

В мае 2026 года организация создала команду безопасности экосистемы. Ранее The PHP Foundation совместно с Alpha-Omega просканировали код PHP с помощью Claude Mythos от Anthropic. Кроме того, использовали Daybreak Red от OpenAI для проверки сообщений об уязвимостях и эксплоитов, а также сборки с санитайзерами и среды воспроизведения ошибок.

The PHP Foundation обеспечили участие PHP в программе Patch the Planet. 30 июля 2026 года компания Calif начала аудит PHP. 11 августа исследователь Ryan A сообщил об уязвимости, позволяющей удалённо выполнять код без дополнительных условий. Её первопричина совпадала с причиной проблемы OOM, обнаруженной в 2024 году. В тот же день о ней независимо сообщили эксперты OpenAI. Позже OpenAI (18 сентября) и Wiz (24 августа) выявили дополнительные векторы атаки. Аудит PHP также проводили Trail of Bits. Эти сообщения помогли оценить полный масштаб последствий проблемы OOM. С 11 августа её устранение стало главным приоритетом для специалистов The PHP Foundation по безопасности. ИИ помогает проверять сообщения и группировать их по общей первопричине, но все решения принимают люди, которые также участвуют в разработке каждого патча.

Согласованное раскрытие информации об этих уязвимостях проходило успешно до 20 октября (за два дня до запланированной даты выпуска 22 октября). После чего начались проблемы:

🔻 20 октября около 15:00 UTC в сети появились идентификаторы двух CVE с неверным временем выпуска и ошибочной оценкой CVSS 10,0 вместо 9,2. Технические подробности не утекли, поэтому предварительное объявление перенесли на 19:30 UTC, а выпуск исправлений - с 22 на 21 октября, чтобы Linux-вендоры успели подготовить пакеты для обновления.

🔻 20 октября около 20:00 UTC компания Calif случайно опубликовала видео с демонстрацией PoC-а и дополнительными сведениями об уязвимостях. Несмотря на удаление, видео распространили в соцсетях, ускорив разработку и распространение новых PoC-ов 21 октября.

🔻 Рекомендации по снижению рисков, переданные операторам критической инфраструктуры 20 октября около 23:00 UTC, также могли утечь. Команда безопасности PHP отслеживала и проверяла появлявшиеся PoC-и, но до выпуска и публичного раскрытия информации не обнаружила работающих эксплоитов.

🔻 21 октября в 07:41 UTC, более чем за шесть часов до срока, компания Chainguard нарушила эмбарго и опубликовала образы с исправлением. Это позволило злоумышленникам изучить патч до официального выпуска и свело на нет недели работы над согласованным раскрытием уязвимостей. 🤷‍♂️

Возможно, что эти и другие утечки помогли злоумышленникам подготовить эксплоиты заранее: эксперты Amazon зафиксировали попытку эксплуатации PHP2Shell ещё 17 октября, а 21 октября обнаружили новые атаки с нескольких IP-адресов.

Продолжаем разбираться с PHP2Shell

Продолжаем разбираться с PHP2Shell

Продолжаем разбираться с PHP2Shell. В 17:00 по Москве на сайте PHP был опубликован бюллетень "Уведомление о безопасности: критические уязвимости, позволяющие удалённо выполнять произвольный код" с призывом немедленно обновить ПО.

В PHP 8.5.12, 8.4.27, 8.3.36 и 8.2.35 исправлены две критические уязвимости, позволяющие злоумышленникам удалённо выполнять код без аутентификации. Всем пользователям PHP настоятельно рекомендуется немедленно обновиться. Риску подвержены все серверы, использующие PHP для обработки веб-запросов, включая PHP-FPM, Apache с mod_php, php-cgi, FrankenPHP и LiteSpeed. Наибольшему риску подвержен mod_php. Уже подтверждена возможность удалённого выполнения кода через запрос без аутентификации, ещё до начала выполнения кода приложения.

🔻 RCE из-за нехватки памяти (OOM), CVE-2026-109618 (GHSA-w8hw-w9fx-j79w): при нехватке памяти PHP может прервать выполнение, когда внутренние данные запроса инициализированы лишь частично. При очистке запроса эти некорректные данные могут быть ошибочно приняты за действительные.

🔻 RCE из-за устаревшего глобального состояния (stale global state), CVE-2026-109619 (GHSA-6wmf-4rv5-p3rp): внутренние данные запроса могут сохраняться после освобождения занимаемой ими памяти. Следующий запрос, обрабатываемый тем же рабочим процессом, может использовать эти устаревшие данные до их сброса при инициализации.

Вектор для обеих уязвимостей CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N (9.2)

Как обновиться:

🔹 Обновите PHP до версии 8.5.12, 8.4.27, 8.3.36 или 8.2.35. Скачать исходный код можно на странице загрузок. Исходный код и готовые сборки для Windows доступны на отдельной странице.

🔹 Для Linux вендоров исправления были переданы заранее. Проверьте, доступны ли обновлённые пакеты у вашего вендора. Например, для Red Hat или Ubuntu.

🔹 PHP 8.1 и более старые версии больше не получают обновлений от команды PHP. Однако из-за серьёзности уязвимостей команда безопасности PHP подготовила исправления исходного кода (minimal source-backports) для PHP 7.4, PHP 8.0, PHP 8.1.

Также в бюллетене приводятся компенсирующие меры, которые "помогут снизить риск некоторых видов атак, но не сделают систему полностью безопасной". Подчёркивается, что полноценное решение - только обновление.

Грядёт PHP2Shell!

Грядёт PHP2Shell!

Грядёт PHP2Shell! CVE-2026-109618 и CVE-2026-109619 - критические уязвимости в PHP, которым команда безопасности PHP присвоила оценку 9,2 по шкале CVSS v4.0. Согласно общедоступным данным, обе уязвимости позволяют неаутентифицированному злоумышленнику выполнять произвольный код на удалённом сервере.

20 октября эти CVE-идентификаторы распространились на Hacker News и в социальных сетях. Позже в тот же день команда безопасности PHP опубликовала предварительное уведомление о выпуске обновления безопасности, запланированном на 21 октября в 14:00 UTC (21 октября в 17:00 МСК), для устранения двух критических уязвимостей. В уведомлении говорилось, что команда может выпустить обновление раньше, если подробности об уязвимостях станут общедоступными или появятся признаки их эксплуатации в реальных атаках. Эксперты CERT-EU также опубликовали рекомендацию по безопасности (2026-018), в которой упоминались обе CVE. По данным watchTowr, первоначально раскрытие информации об уязвимостях было запланировано на четверг, 22 октября, в рамках соглашения о неразглашении до установленного срока.

🛠 В видеоролике, опубликованном исследователем Кириллом Фирсовым, демонстрируется цепочка эксплойтов под названием PHP2Shell. Фирсов указал, что видео и эксплойт были созданы исследователем LCFR и компанией Calif io. Компания watchTowr сообщила BleepingComputer, что, по её мнению, ей удалось воспроизвести эксплуатацию уязвимости CVE-2026-109618. В открытом доступе распространяется код, предназначенный для эксплуатации этих уязвимостей, однако его работоспособность не подтверждена. Имейте в виду, что непроверенный код для эксплуатации уязвимостей иногда содержит вредоносное ПО, поэтому относитесь к нему с осторожностью.

⚙️ Эксперты CERT-EU сообщили, что эти уязвимости могут затрагивать все версии PHP начиная с PHP 5. В демонстрационном видео упоминаются PHP 5.4.0 и более поздние версии. PHP опубликует официальный список уязвимых и исправленных версий одновременно с выпуском обновления. Разработчики ядра PHP сообщают, что "единственный способ защиты - установить патч или обновить PHP" и "настройки ini вас не спасут".

👾 21 октября технический директор Cloudflare Дейн Кнехт заявил, что компания "наблюдает первые признаки атак" и обновляет механизмы защиты по мере появления новых векторов атак.

🌐 Согласно W3Techs, PHP используется на 69,3% веб-сайтов, для которых известен язык программирования на стороне сервера. Такие платформы, как WordPress, Drupal, Joomla, Laravel и Magento, работают на PHP. По приблизительной оценке исследователя безопасности Сайласа Катлера, потенциально уязвимы более 1,3 миллиона узлов, доступных из Интернет. Поиск в Shodan, проведённый Хенком Полеем, выявил более 1,9 миллиона доступных из Интернет узлов, использующих PHP.

В общем, ждём патчи, тестируемся и обновляемся, чтобы не попасть под массовые атаки! 🙂