ИИ допинывает WordPress
ИИ допинывает WordPress ИИследователь Sol Ultra обнаружил критическую уязвимость в WordPress, позволяющую выполнить код на сервере без какой-либо авторизации. Проблема кроется в Batch API (/wp-json/batch/v1), который появился в WordPress 5.6. Этот API позволяет упаковывать несколько REST-запросов в один вызов. Суть в том, что Batch API сначала проверяет все подзапросы, а потом выполняет их во втором проходе. Из-за ошибки в этой двухпроходной схеме при отправке некорректного запроса массивы валидации и обработчиков рассогласовываются. Это позволяет подменить один эндпоинт другим в процессе выполнения, обходя санитизацию параметров. Sol Ultra скомбинировала этот баг с другой проблемой в параметре author_exclude, который при передаче в виде строки вместо массива подставляется напрямую в SQL-запрос. А так как Batch API не поддерживает GET-запросы напрямую, ИИ использовал вложенный batch-вызов, чтобы обойти и это ограничение. Но просто прочитать базу данных недостаточно. Пароли в WordPress хранятся в захэшированном виде. Sol Ultra пошла дальше и через UNION-инъекцию она сфабриковала фейковые объекты записей в кеше, а затем использовала механизм oEmbed, чтобы записать в базу данных поддельный пост customize_changeset, привязанный к администратору. Применение этого изменения временно повышало права текущего запроса до административных. После этого оставалось только создать учетную запись администратора и через стандартный установщик плагинов загрузить вредоносный ZIP-файл с кодом. Под угрозой более 500 миллионов сайтов на WordPress в конфигурации по умолчанию с MySQL. Исправления пока нет, но Searchlight Cyber уже выпустила бесплатный сканер для проверки на wp2shell.com. Обновления безопасности от WordPress стоит ждать в ближайшее время — патчиться нужно будет без промедления. @antiinfosec