PHP2Shell: исследователь с ИИ превратил старый баг PHP в угрозу взлома

IEEE Spectrum рассказывает об уязвимости PHP2Shell, о которой стало известно в конце октября (год в тексте не указан). По словам автора материала, она ставила под угрозу множество сайтов, включая сайты NASA, Википедии, Белого дома и все прочие сайты на WordPress или Drupal (среди прочих): эксплойт позволял читать чувствительные данные и запускать вредоносный код на сервере. Насколько известно, катастрофу удалось предотвратить: уязвимость нашли исследователи по кибербезопасности и сообщили в PHP Foundation, а патч выпустили до того, как эксплойт попал в руки злоумышленников.
В основе лежал давний баг. PHP создан в 1994 году и в основном используется на устаревших сайтах; об ошибке в нём сообщили в PHP Foundation ещё в 2024 году (как минимум тогда). Это была ошибка нехватки памяти (out-of-memory): под данные выделено меньше памяти, чем нужно. Обычно такая ошибка просто приводит к аварийному завершению программы, что неприятно, но не опасно по своей сути, поэтому баг так и оставался без внимания. Как говорит Суман Джана, доцент информатики Колумбийского университета, в любой момент существует множество отчётов о сбоях, ждущих исправления, и большинство людей не принимает их всерьёз.
Как баг стал критическим. Ранее в этом году охранная фирма Calif предложила провести независимый аудит PHP при спонсорской поддержке OpenAI. В течение двух недель исследователь Calif с помощью ИИ-инструментов нашёл способ использовать ошибку нехватки памяти для запуска произвольного кода на сервере, то есть для установки вредоносной программы или чтения критичных данных. Из мелкого бага он превратился в критическую уязвимость, и команда Calif сразу предупредила PHP Foundation. По словам Джаны, для эксплуатации нужно аккуратно рассчитать переход в определённую точку памяти для конкретной программы на сервере и точно определить, какие биты и в каком порядке перезаписать, чтобы получить контроль над системой. «Это не высшая математика, это просто очень много специфических рассуждений, которые мучительно делать. И ИИ, по-моему, с этим очень хорошо справился», говорит он. При этом исследователи Calif, а также OpenAI и компания Wiz, подтвердившая и расширившая найденные уязвимости, глубоко разбирались и в кибербезопасности, и в языке PHP. Джана: он не утверждает, что ИИ справляется сам, «явно не справляется», но быстро улучшается, так что лучшие 0,1% экспертов делают гораздо больше, а те, кто чуть ниже, теперь могут добраться до того же уровня, не вникая во все мелкие детали.
Асимметрия поиска и исправления. После передачи эксплойтов в PHP Foundation команда из четырёх инженеров два месяца делала патч, стараясь выпустить его как можно скорее. По словам Джаны, между поиском и исправлением багов фундаментальная асимметрия: при исправлении надо убедиться, что закрыты все части атаки и что не сломана существующая функциональность. По оценке автора, это сильно давит на защитников, особенно в открытом ПО вроде PHP, где широко используемые проекты нередко живут без явных источников дохода; эта проблема появилась задолго до ИИ-инструментов для взлома, но теперь стала острее.
Что предлагают. Один путь, давать защитникам больше денег и доступ к передовым ИИ-моделям для кибербезопасности. Джана отмечает, что передовые лаборатории уже отдают часть своих бюджетов токенов на поиск таких багов, и считает, что это стоит делать чаще, через общие усилия или пожертвования. Он также оптимистичен насчёт инструментов формальной верификации, автоматизирующих исправление, которые быстро развиваются (в том числе новый релиз Anthropic от 22 октября): патч пишет языковая модель, она же строит доказательство его корректности, а проверяет доказательство не модель, а формальная программа-проверяльщик, потому что модели галлюцинируют. Автор материала надеется, что связка специализированных ИИ-моделей и формальной верификации сделает исправление уязвимостей почти настолько же автоматизируемым, как их поиск.
Матью Грин, доцент информатики Института информационной безопасности Университета Джонса Хопкинса, настроен менее оптимистично: проблему никто не будет решать, пока не случится что-то по-настоящему плохое, а PHP2Shell «недостаточно плох». Это произойдёт, по его словам, возможно, в начале 2027 года, и тогда, когда расстроятся обычные люди, «мы начнём финансировать всё». Пока же его совет: обновляйте ПО и не откладывайте установку обновлений безопасности на следующую неделю. Джана уверен, что PHP2Shell не последний случай; главное, кто найдёт уязвимость первым, и в этот раз, надеется он, это были белые хакеры.
Ключевые факты
- PHP2Shell, раскрытая в конце октября, ставила под угрозу сайты на PHP, включая WordPress и Drupal: эксплойт позволял читать данные и запускать код на сервере.
- В основе лежал давний баг с нехваткой памяти, о котором сообщали в PHP Foundation ещё в 2024 году; обычно такой сбой лишь роняет программу. Исследователь Calif с помощью ИИ-инструментов за две недели нашёл способ запускать через него произвольный код.
- Патч делали четыре инженера в течение двух месяцев; насколько известно, он вышел раньше, чем эксплойт попал к злоумышленникам.
- Суман Джана указывает на фундаментальную асимметрию: баги искать проще, чем исправлять; помочь могут бюджеты токенов от лабораторий и формальная верификация патчей.
- Матью Грин ждёт по-настоящему громкого инцидента, возможно, в начале 2027 года, и советует не откладывать обновления безопасности.
Почему это важно
Случай показывает механику, которую эксперты в материале называют предвестником: старые, давно известные и казавшиеся безобидными ошибки с помощью ИИ-инструментов можно превратить в критические уязвимости. Мэтт Суиш (Matt Suiche) из стартапа Tolmo говорит, что на виду оказывается всё ПО, написанное людьми за последние 40 лет, и настало время платить по техническому долгу. Автор материала допускает, что PHP2Shell может быть «канарейкой в шахте» для эпохи ИИ.
Кому это важно
Владельцам и администраторам сайтов на PHP, WordPress и Drupal; разработчикам и сопровождающим открытого ПО без явных источников дохода, на которых давит асимметрия между поиском и исправлением багов; командам безопасности и тем, кто решает, как финансировать защиту. Также это касается обычных пользователей: совет Грина, ставить обновления безопасности сразу.
Как это применить
Практический совет из материала один: не откладывать обновления программ и устройств. Для организаций из рассуждений Джаны следуют направления: давать защитникам деньги и доступ к передовым ИИ-моделям для кибербезопасности (лаборатории уже жертвуют часть бюджетов токенов), а также следить за инструментами формальной верификации, которые могут автоматизировать исправление: модель пишет патч и доказательство его корректности, а доказательство проверяет формальная программа.
Можно ли доверять
Материал IEEE Spectrum написан редактором издания Диной Генкиной, опирается на комментарии трёх специалистов из индустрии и университетов и подаёт ситуацию осторожно: «насколько известно, катастрофа предотвращена». Но в тексте нет номера CVE, версий PHP и имени исследователя Calif; сайты NASA, Википедии и Белого дома названы лишь как находившиеся под угрозой, а не как подтверждённо уязвимые или взломанные. Срок «40 лет», слова Суиша, а не измеренная величина; прогноз Грина про начало 2027 года, его собственная оценка с оговоркой «возможно».
Риски и подводные камни
Исправлять уязвимости сложнее, чем находить: надо закрыть все части атаки и не сломать существующую функциональность, а на одну такую работу ушли четыре инженера и два месяца. Малые сбои, которые раньше не считались опасными, теперь могут оказаться критическими. Джана подчёркивает, что ИИ не справляется сам, но расширяет круг тех, кто способен находить такие уязвимости, и это не последний случай. Грин опасается, что без громкого инцидента финансирования исправлений не будет. Оптимизм насчёт формальной верификации в материале, пока надежда автора и Джаны.
«Одно из того, чему мы сейчас становимся свидетелями: всё унаследованное ПО, которое люди писали последние 40 лет, оказывается на виду. Теперь пришло время выплатить технический долг.»
— Мэтт Суиш (Matt Suiche), руководитель направления исследований безопасности ИИ в стартапе Tolmo