
Microworld Technologies eScan Management Console версии 14.0.1400.2281 уязвима для атаки типа «Хранимая межсайтовая подмена скриптов (XSS)».
Консоль управления eScan от Microworld Technologies версии 14.0.1400.2281 уязвима к атаке с использованием сохранённого межсайтового скриптинга (XSS). Аутентифицированный злоумышленник, имеющий доступ к функции управления ролями, может внедрить вредоносный скрипт в поле Description новой роли. Полезная нагрузка сохраняется в базе данных приложения и выполняется в браузере любого пользователя, который впоследствии просматривает затронутую страницу — включая привилегированных администраторов.
Поскольку внедрённый скрипт выполняется в контексте аутентифицированной сессии жертвы, злоумышленник может использовать эту уязвимость для кражи куки-сессий, выполнения действий от имени жертвы, перенаправления пользователей на фишинговые страницы или повышения привилегий в консоли управления.
| Поле | Значение |
|---|---|
| CVE ID | CVE-2023-34838 |
| Тип уязвимости | Сохранённый межсайтовый скриптинг (XSS) |
| CWE | CWE-79 – Отсутствие нейтрализации входных данных при генерации веб-страницы |
| Оценка CVSS v3.1 | 6.4 (Средний) |
| Вектор CVSS | AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N |
| Затронутый продукт | Microworld Technologies eScan Management Console |
| Затронутая версия | 14.0.1400.2281 |
| Протестировано на | Windows |
| Уязвимый параметр | Description (форма создания новой роли) |
| Уязвимая конечная точка | /ewconsole/ewconsole.dll/NewRole |
| Требуется аутентификация | Да (действительные учётные данные консоли) |
| Дата раскрытия | 23 июня 2023 |
| Сообщил | Sahil Ojha |
eScan Management Console — это централизованное решение для управления безопасностью конечных точек, используемое предприятиями для управления политиками антивируса, управления исправлениями, контроля устройств и ролей пользователей в корпоративной сети. Его веб-интерфейс обычно развёртывается во внутренней сети и доступен на порту 10443.
Приложение не санирует и не кодирует предоставленные пользователем данные в поле Description формы New Role перед сохранением в базе данных и отображением пользователям. При рендеринге страницы списка ролей (RoleMainPage) несанированная полезная нагрузка записывается непосредственно в HTML-ответ, в результате чего браузер разбирает и выполняет внедрённый скрипт.
"><script>alert(1)</script>
| Область воздействия | Описание |
|---|---|
| Угон сессии | Кража аутентифицированных куки-сессий, предоставляющих полный доступ к учётной записи |
| Повышение привилегий | Выполнение действий уровня администратора от имени жертвы с более высокими привилегиями |
| Сбор учётных данных | Перенаправление жертв на страницы входа, контролируемые злоумышленником |
| Дефейс | Изменение внешнего вида или поведения интерфейса консоли управления |
| Распространение вредоносного ПО | Доставка вредоносных полезных нагрузок пользователям, просматривающим скомпрометированную страницу |
Войдите в консоль управления eScan и перейдите на страницу New Role. Замените <TARGET_IP> на фактический IP-адрес консоли (например, 192.168.1.1):
http://<TARGET_IP>:10443/ewconsole/ewconsole.dll/NewRole
Заполните New Role Name любым значением (например, test) и вставьте XSS-полезную нагрузку в поле Description:
"><script>alert(1)</script>
Выберите любую группу из списка и нажмите Ok, чтобы сохранить роль.

После сохранения роли приложение перенаправляет на Role Main Page (/ewconsole/ewconsole.dll/RoleMainPage). Поскольку значение поля Description отражается обратно без санации, внедрённый тег <script> выполняется немедленно, вызывая диалоговое окно alert в браузере.
В реальной атаке вызов alert(1) был бы заменён на полезную нагрузку для экфильтрации куки-сессии жертвы (например, document.cookie) на сервер, контролируемый злоумышленником.

Microworld Technologies следует применить следующие исправления:
<, >, ", ', ;) из полей, которые не требуют форматированного текста.Content-Security-Policy, чтобы ограничить выполнение встроенных скриптов.HttpOnly для куки-сессий, чтобы предотвратить доступ к ним из JavaScript, снижая воздействие любого успешного XSS. Кроме того, установить флаг Secure, чтобы гарантировать передачу куки-сессий только по HTTPS, предотвращая перехват по незашифрованным соединениям.Sahil Ojha — Исследователь безопасности
Обнаружено и сообщено: 23 июня 2023
Этот репозиторий опубликован только в образовательных и информационных целях. Предоставленная здесь информация и код доказательства концепции предназначены для помощи специалистам по безопасности в понимании природы уязвимости, чтобы её можно было исправить и защититься от неё. Автор не одобряет использование этой информации для несанкционированных или незаконных действий. Всегда получайте соответствующее письменное разрешение перед тестированием любой системы, которая вам не принадлежит.