Уязвимость в языке программирования PHP прервала работу интернета. Что нужно знать

Уязвимость в языке программирования PHP прервала работу интернета. Что нужно знать

Что такое PHP
PHP — это один из самых распространенных языков программирования в мире, который можно назвать фундаментом значительной части современного интернета. Он поддерживается большинством хостинг-провайдеров и активно применяется для создания веб-страниц. По существующим оценкам, 72% сайтов, для которых известен серверный язык программирования, работают на ядре PHP.

Создателем PHP является датчанин Расмус Лердорф. В 1994 году он написал команды для отслеживания посещений своего онлайн-резюме и назвал их «Инструменты для персональной домашней страницы» (Personal Home Page Tools, сокращенно PHP Tools). Со временем из заготовки для личного пользования получился полноценный язык программирования.

В 1998 году вышла версия PHP 3, ставшая удобным инструментом для создания веб-страниц. Тогда же его название стало расшифровываться как PHP Hypertext Preprocessor («Гипертекстовый препроцессор PHP»). PHP пережил несколько крупных обновлений, его нынешняя, восьмая версия была выпущена в ноябре 2020 года.

PHP является общественным проектом с открытым исходным кодом, то есть как язык он не принадлежит и не контролируется какой-либо компанией. Развитием PHP, его обновлениями и выработкой его стандартов занимается группа разработчиков-энтузиастов, которые собирают средства на свою работу через спонсоров.

Какие проблемы возникли с PHP
20 октября стало известно о том, что в ядре PHP существуют две уязвимости, получившие общее название PHP2Shell. Одна из них связана с ошибкой в обработке нехватки памяти, что может привести к повреждению памяти запроса и выполнению вредоносного кода. Вторая уязвимость эксплуатирует ошибку типа «использование после освобождения», когда один запрос оставляет данные в памяти, а следующий запрос, обрабатываемый тем же рабочим процессом, их использует.

Вместе обе уязвимости получили критический уровень опасности — 9,2 из 10 баллов по шкале CVSS v4.0. Они позволяют осуществить неаутентифицированное удаленное выполнение кода, то есть злоумышленникам не нужны учетные данные для входа, чтобы получить контроль над сервером на основе PHP.
Уязвимости потенциально затрагивают все версии PHP, начиная с пятой, вышедшей еще в 2004 году. Команда разработчиков языка оперативно выпустила исправления и призвала всех пользователей срочно обновить PHP, а до установки патчей — временно изолировать уязвимые приложения и страницы от публичных сетей. Если используется неподдерживаемая версия PHP, для которой не вышло обновление, разработчики посоветовали срочно перейти на другую версию.

Как обнаружили уязвимости
Уязвимости PHP2Shell были обнаружены еще в августе благодаря исследованиям с использованием искусственного интеллекта. Их провели две независимые команды в рамках проекта OpenAI под названием Patch the Planet. Он был запущен для поиска ошибок в открытом программном обеспечении при помощи инструментов ИИ.

Первооткрывателем уязвимостей стал программист Райан Остин из компании Calif. Для поиска ошибок он использовал модель GPT-5.6 Sol. Его выводы об опасности PHP подтвердили исследователи из компании Wiz, которые применили наряду с собственными разработками Gemini 4 Argon от Google. В своем заключении они отметили, что одному исследователю удалось за неделю проделать такой объем работы, который бы при ручной обработке потребовал месячных усилий целой команды.

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

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

Из-за того, что проблема затрагивает ядро PHP, под угрозой оказался огромный спектр сайтов и сервисов. Многим организациям пришлось отключить свои ресурсы, чтобы установить обновления, и это привело к сбоям в работе. В первую очередь уязвимости затронули сайты, построенные на системах управления WordPress, Drupal, Joomla и Magento. Пользователи пожаловались на сбои «Википедии» и библиотеки Internet Archive.

Перебои также затронули сайты госучреждений в Нидерландах, Франции, Финляндии, Дании и других странах. Серьезный удар пришелся на Японию, где были отключены сайты банков, авиакомпании ANA и железнодорожного оператора. После устранения неисправности страницы вернулись к работе. При этом миллионы сайтов, не прошедшие обновления, остаются уязвимыми к атакам, которые могут проходить с использованием искусственного интеллекта, что увеличивает их эффективность и масштаб.

Иллюстрация к статье: Яндекс.Картинки

Оставить комментарий

Вы можете использовать HTML тэги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.