← На главную

GPT5.6 Sol Ultra за 10 ч нашла zero-day WordPress:SQLi batch-API→RCE

20.07.2026 08:13 · hackernews

Исследователь использовал модель OpenAI GPT5.6 Sol Ultra для поиска zero-day в WordPress. Он адаптировал промпт, которым OpenAI решал математическую гипотезу Cycle Double Cover, и запустил четыре агента на шесть часов. Модель быстро нашла предварительно не аутентифицированную SQL-инъекцию.

Уязвимость — в batch API (/wp-json/batch/v1). WordPress обрабатывает запросы в два цикла: сначала валидация всех параметров, потом выполнение. Но если первый запрос в батче оказывается ошибочным (is_wp_error), массив $matches не сдвигается, а $validation сдвигается. Из-за этого индекс рассинхронизируется: проверка проходит для одного эндпоинта, а выполняется на другом. Так можно обойти санитизацию параметров.

Автор показывает, как через этот баг передать в author__not_in (параметр GET-эндпоинта /wp/v2/posts) неэкранированную строку, которая напрямую попадает в SQL. Проблема: batch API не поддерживает GET-запросы. Но Sol обошёл это, рекурсивно вызвав batch внутри batch — через тот же баг валидации метода. Получилась полноценная pre-auth SQLi.

Дальше модель построила цепочку до RCE. Сначала через SQLi она подсовывала фейковые посты в кэш WordPress. Используя embed-ссылку с относительным путём, она заставляла WordPress создавать в базе строки oembed_cache. Затем через баг с циклами в иерархии родителей постов вызывалось обновление поста, где модель контролировала post_content, кроме явно переданного в wp_update_post. Но благодаря механизму циклов (когда пост становится родителем самого себя) модель обошла это ограничение и смогла записать customize_changeset с JSON от имени администратора. Временно получив права админа, она через хук parse_request перезапустила обработку batch-запроса, но уже с административной сессией. Так в систему был добавлен новый администратор, через которого загрузили вредоносный плагин — полный RCE.

Весь эксплойт занял чуть больше 10 часов. Исследователь отметил, что Sol (GPT5.6) проявил неожиданную креативность: рекурсивный вызов batch, манипуляции с кэшем, использование циклов в иерархии — вещи, которые раньше считались прерогативой человека. Уязвимость подтверждена на стандартной установке WordPress с MySQL.

Читать оригинал →