В популярной платформе для организации почты CommuniGatePro в версии 6.1.16 (crystal, pronto and pronto4) были найдены множественные хранимые XSS-уязвимости.

Ошибки XSS возникают, когда приложение использует данные на новой веб-странице без правильной проверки или экранирования данных или обновляет существующую веб-страницу с предоставленными пользователем данными с использованием API-интерфейса браузера, который может создавать JavaScript. XSS позволяет злоумышленникам выполнять сценарии в браузере жертвы, которые могут захватывать пользовательские сеансы, деактивировать веб-сайты или перенаправлять пользователя на вредоносные сайты.

Сведения об уязвимости (хранимые XSS):

Эта уязвимость позволяет получить доступ к следующему:
- управлению почтовым ящиком жертвы, просто прочитав мой адрес электронной почты;
- управлению компьютером жертвы, если человек использует Internet Explorer 8;
- отправке письма от имени жертвы;
- искажению всего почтового ящика жертвы;
- вызову вредоносной части кода каждый раз, когда вложение отправляется жертве.

Сценарии атаки:

Календарь

POST /calendar/event HTTP/1.1
Host: calendar.google.com
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
X-If-No-Redirect: 1
X-Is-Xhr-Request: 1
Content-Type: application/x-www-form-urlencoded;charset=utf-8
Content-Length: 634
Cookie: Mycookie
Connection: close
​sf=true&output=js&action=CREATE&useproto=true&add=boumediene.k%40victim.dz%2Csnbemail%40gmail.com&crm=BUSY&icc=DEFAULT&sprop=goo.allowModify%3Afalse&sprop=goo.allowInvitesOther%3Atrue&sprop=goo.showInvitees%3Atrue&pprop=eventColor%3Anone&eid=762dgnlok9l44rd63im4kisjnd&eref=762dgnlok9l33rd55im4kisjnd&cts=1511425384353&text=%22%3E%3Cimg%20src%3DX%20onerror%3Dalert(document.cookie)%3E&location=Stored%20XSS&details=Stored%20XSS&src=snbemail%40gmail.com&dates=20171123T093000%2F20171123T103000&unbounded=false&gdoc-attachment&scfdata=W1tdXQ..&stz&etz&scp=ONE&nopts=2&nopts=3&nopts=4&hl=en_GB&secid=6VLs1BGsgBB_Tqz6egnXpCYYF24

Как только жертва получит приглашение, он/она не будет обязан нажимать на какую-либо ссылку или скачивать какие-либо файлы. Как только жертва читает электронное письмо, код запускается в браузере жертвы, в результате чего передаются конфиденциальные данные противнику.

Файлы

Чтобы использовать эту уязвимость, жертва должна сначала приобрести локальный почтовый ящик. Далее он/она должна сделать следующее:

1. Перейти в раздел файлов
2. Создать каталог
3. Назвать каталог любым кодом JavaScript, в нашем случае (<img src="X" />)
4. Поделиться или предоставить доступ к жертве, чтобы жертва имела возможность хотя бы прочитать содержимое каталога

Затем жертва получает электронное письмо о предоставлении доступа к этому каталогу. Жертва читает электронное письмо, а затем обращается к каталогу, заканчивающему выполнение кода в рамках своей работы.

Заметки

Чтобы использовать эту уязвимость, жертва должна сначала приобрести локальный почтовый ящик. Далее он/она должна сделать следующее:

1. Создать заметку
2. Поместить в него код JavaScript
3. Поделиться этим с жертвой.

Задачи

Чтобы использовать эту уязвимость, жертва должна сначала приобрести локальный почтовый ящик. Далее он/она должна сделать следующее:
1. Создать задачу
2. Поместить код JavaScript в имя задачи
3. Опубликовать его.

Входящие

Чтобы использовать эту уязвимость, жертва должна сначала приобрести локальный почтовый ящик. Далее он/она должна сделать следующее:
1. Создайте html-файл со вредоносной частью кода JavaScript
2. Используйте Pronto для отправки письма жертве
3. Жертва читает письмо и код запускается.

Такие атаки блокируются с помощью сигнатурного анализа. В случае обфускации пейлоада, запрос обрабатывается модулем искусственного интеллекта Nemesida WAF, распознающего аномалию в параметре запроса и позволяющему выявить эксплуатацию уязвимости.