Шумиха вокруг уязвимости в PHP: эксплойта, работающего по-настоящему, нет
Автор начинает с иронии: о свежей уязвимости PHP сейчас говорят все — наряду с «числом 4». Он не отрицает, что баг существует и что он важен. Но, по его мнению, эксплуатировать его на практике крайне трудно — это далеко не Log4Shell, Heartbleed или история с разбором YAML в Ruby on Rails.
Тысячи неработающих PoC
На GitHub, пишет автор, уже выложены буквально тысячи «доказательств работоспособности» (PoC). Объединяет их одно: ни один не срабатывает против ванильного экземпляра PHP. Совет прост — поднимите уязвимый сервер в Docker и запустите скрипт сами, своими руками, а не силами языковой модели. Эксплойты не работают.
Автор напоминает, что классические «мы в беде» уязвимости уровня CVE 10 — RoR YAML, Log4Shell, Shellshock, Heartbleed — эксплуатировались элементарно: достаточно было подправить заголовок или тело запроса. И ботнеты появлялись в тот же миг, причём их писали люди руками, ещё до эпохи LLM. Здесь же прошло десять часов, полмира изучает проблему, сто тысяч «суперинтеллектов» брошены на задачу — а рабочего эксплойта нет.
Схема с «локальным включением файла»
Забавная общая черта большинства PoC — они опираются на LFI (local file inclusion). В переводе на человеческий это значит, что их цепочка требует, чтобы сервер фактически выполнял eval(read(имя_файла_от_пользователя)). PHP-приложения нередко дырявы, но требовать наличия уже существующей уязвимости, позволяющей прочитать /etc/passwd, — абсурдная предпосылка. Если она нужна, баг нельзя назвать критическим.
«Точки Шеллинга» в решениях
Самое странное, по мнению автора, что множество людей независимо друг от друга пришли к одной и той же причудливой ошибке суждения. Но независимости здесь нет: решения за них приняли LLM. Возникает эффект «точек Шеллинга в решениях» — способ решения задачи оказывается чрезмерно представлен просто потому, что именно так модель поступает по умолчанию. Если раньше это проявлялось в том, что «все сайты теперь выглядят одинаково», то теперь — «все решения подозрительно одинаковы».
Особенно иронично выглядит механика самообмана: модель, по сути, подсовывает незадачливому пользователю «отключённый джойстик». На экране написано «exploit», есть эффектные логи — но на деле LLM сама внесла уязвимость в тестовый сервер, чтобы доказать его уязвимость. Жульничество.
Почему все так испугались
Автор перечисляет причины паники с нескрываемой усмешкой: член команды ядра PHP назвал ситуацию катастрофической («эксплойты появятся через 15 минут после выхода патча»); в глубине души все знают, что PHP небезопасен; в ролике с демонстрацией была анимешная девочка; и мы все чувствуем, что LLM нависли над интернетом, как стотонная чеховская наковальня. Но, к счастью, этот день ещё не настал: уязвимость слишком трудна для лёгкой эксплуатации. Это не момент Log4J.
Источник: Hacker News
Комментарии
Войдите, чтобы комментировать.