Уязвимость в языке программирования PHP прервала работу интернета. Что нужно знать
- Новости
- Интернет и технологии
- Уязвимость в языке программирования PHP прервала работу интернета. Что нужно знать
В языке программирования 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 и железнодорожного оператора. После устранения неисправности страницы вернулись к работе. При этом миллионы сайтов, не прошедшие обновления, остаются уязвимыми к атакам, которые могут проходить с использованием искусственного интеллекта, что увеличивает их эффективность и масштаб.