Cross Site Scripting / HTML injection vulnerability in Microsoft Internet Information Services web server ================================== Versions Affected: MS Internet Information services (All platforms and versions) ================================== CVE Reference: CVE-2017-0055 ================================== Vendor Fix: Microsoft released bulletin MS017-16 and associated patches for each affected version ================================== Description: The default HTTP 500.19 error page of Internet Information Services fails to properly sanitize user-supplied input as rendered in the path where the Web.config file of the application or directory was attempted to be loaded. Under normal conditions, any attempt to craft and visit an URL including javascript or html content on it will trigger either an HTTP 400 response from the server or will be handled by the customErrors Web.config setting of the application. It was discovered that, if a website root hosted on IIS or any subfolder on it is located in a UNC path (NAS, shared folder or mapped drive), it is possible to craft a special link that, upon clicked, will trigger an HTTP 500.19 error page from the server rendering the javascript or html code injected as part of the path where the Web.config file was attempted to be loaded. As the flaw lies in the fact of the improper sanitization of the 500.19 error page, other attack vectors not requiring UNC paths might exist. ================================== Impact: By inducing a victim to click on a specially crafted link, is possible to execute javascript code in the victim’s browser in the context of a website hosted on IIS to conduct a classical reflected Cross Site Scripting (XSS) attack. The impact could be stealing user cookies, hijacking user session or performing unauthorized actions in the web application on behalf of the victim. If the code injected is HTML, the vulnerability allows to conduct phishing attacks using the legitimate website against web application users. ================================== Proof of concept: http://vulniis/uncpath/%3Cimg%20onerror=alert('xss')%20src=/%3E:/ ================================== Mitigations: Neither ValidateRequest nor configuring customErrors setting on Web.config will protect from this flaw, as this happens earlier in the request processing pipeline. ================================== Links: https://www.sidertia.com/Home/Community/News/2017/03/15/Fixed-the-IIS-Server-XSS-Vulnerability-discovered-by-Sidertia Best regards, David Fernandez Sidertia Solutions S.L. www.sidertia.com