TGViewer
Четыре луча Четыре луча @four_rays · 4.02K subscribers
Post #17 1.28K
Очередной плагин WordPress. CVE-2024-52433.

Не так давно стало известно об уязвимости в плагине WordPress Mindstien Technologies My Geo Posts Free, которая получила идентификатор CVE-2024-52433.
Из-за уязвимости десериализации ненадежных данных, злоумышленник может внедрять объекты, которые в последствии могут использоваться в качестве цепочек, приводящих к RCE.

Затронуты все версии плагина до 1.2.

Если ваше приложение написано с использованием плагина Mindstien Technologies My Geo Posts Free, настоятельно рекомендуем проверить версии и обновиться по мере выхода вендорского патча.

В процессе эмуляции мы обнаружили, что эксплуатация возможна вследствие уязвимости следующего участка кода плагина Mindstien Technologies My Geo Posts Free:

$mdata = unserialize(stripslashes(base64_decode($_COOKIE['mgpf_geo_coockie'])));


То есть при передаче параметра COOKIE mgpf_geo_coockie со значением, предположим, TzoxNDoiVnVsbmVyYWJsZUNsYXNzIjoxOntzOjc6ImNvbW1hbmQiO3M6MTI6ImVjaG8gJ0hhY2tlZCEnIjt9

…происходит следующее:
1) отрабатывает функция base64_decode, которая преобразует переданную строку в
O:14:"VulnerableClass":1:{s:7:"command";s:12:"echo 'Hacked!'";}

2) далее будет вызвана функция stripslashes, которая уберет слеши,
в нашем примере их нет;
3) наконец, после выполнения unserialize, объект $object будет экземпляром класса VulnerableClass с атрибутом command, равным echo 'Hacked!', например

VulnerableClass Object
(
[command] => echo 'Hacked!'
)

Следовательно, если у нас есть класс вроде этого:
 class VulnerableClass {
public $command;

public function __wakeup() {
system($this->command);
}
}


То, используя уязвимость внедрения объекта, можно выполнить произвольный код.

Поделимся детектирующей логикой, которая позволит заблокировать эксплуатацию данной уязвимости.
Необходимо блокировать все запросы, содержащие параметр COOKIE mgpf_geo_coockie, значение которого при декодировании из base64 даст сериализованную строку для хранения объекта;
эту строку можно описать следующим регулярным выражением:
O:\d+:\"[a-zA-Z0-9_-]+\":\d+:(\{s:\d+:\"[a-zA-Z0-9_-]+\";(a|s|i|b|O):\d+|{})
  • 🔥 11
  • 👍 4
  • ❤ 3
  • 🐳 1
  • 👨‍💻 1
  • 👾 1
More from @four_rays
  1. Sep 23, 2026💣 Click2Shell Click2Shell — это цепочка уязвимостей в WordPress, которая может привести к…
  2. Sep 14, 2026💣 Ржавый код: почему все переходят на Rust и когда аналитику можно его не реверсить Rust…
  3. Sep 11, 2026😳 DFIR diggin’ deeper: неочевидные источники артефактов при расследовании атак Когда стан…
  4. Sep 7, 2026😀 Call for Papers на технострим SOC Forum 2026 еще открыт! Темы: 1️⃣ Offense: актуальные…
  5. Aug 31, 2026☀️ Zimbra, все еще скрывающая боль Ранее мы уже рассказывали о расследовании «Zimbra, скры…
  6. Aug 19, 2026💡 Разберемся с непопулярными артефактами на OffZone 2026 Выбираете, какие выступления пос…
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 →