{"vuid":"VU#403307","idnumber":"403307","name":"Seagate Crystal Reports exposes cleartext username/password pairs when embedded in URL or HTTP request","keywords":["Seagate Crystal Reports","HTTP","URL","web report","database password"],"overview":"The Seagate Crystal Reports product exposes passwords to back-end databases in certain configurations. In particular, the username and password are transmitted in plaintext from the client browser to the server as part of the URL when using technologies other than Active Server Pages (ASP).","clean_desc":"Here's an example situation in which a Seagate Crystal Reports (SCR) system could be vulnerable: A developer has a database that they want to access using Seagate Crystal Reports, but they do not want everyone to have access to this database. So they password protect the database, and attempt to force all access through the Seagate Crystal Reports (SCR) product. Unfortunately, the only way for the Seagate product to gain access to the database is by embedding the password in the HTML page for the web report. By default, the product obtains access by embedding the userid and password in the HTML file like so: <PARAM NAME=ReportParameter VALUE=\"password0=pass&amp;user0=user\"> In ASP files, this might be acceptable since users are not supposed to be able to see the source code for the ASP file. Historically, a number of vulnerabilities have been discovered that allow an attacker to obtain the ASP source however, so even this solution is not ideal. The attacker could be an internal user who has connectivity to the database, but lacks the userid and password to login the database itself. By reading the password out of the HTML source, they can connect to the database, login, and access the data. Alternatively, a remote intruder who first gained access to the local network by exploiting a different vulnerability on the web server, could do the same. Additionally, by accessing the Crystal Reports Design file, the attacker can frequently gain additional information about the design of the database before accessing it. The end result is that password protecting a database does not provide substantial security for protecting the database contents from other people who may have network access when Seagate Crystal Reports is used to report against that database.","impact":"An attacker who is able to obtain the userid and password from a URL or an HTML file may be able to gain access to the back-end database.","resolution":"Do not use Seagate Crystal Reports to access databases with strong security requirements.","workarounds":"If you must access databases with security requirement, you should employ as many of the following techniques as possible: Protect the databases with passwords\nUse the ASP capabilities of Seagate Crystal Reports (SCR)\nRestrict the database server so that it can only be accessed by the web server\nRestrict access to the web page\nUse Secure Socket Layer (SSL) to secure HTML files in transit from network eavesdroppers Even in the presence of all these precautions, you may not be safe from all variations of this vulnerability.","sysaffected":"","thanks":"Thanks to Kevin Dean for reporting this vulnerability to the CERT/CC, as well as his patience and assistance in preparing this document.","author":"This document was written by Cory F Cohen.","public":["h","t","t","p",":","/","/","w","w","w",".","s","e","a","g","a","t","e","s","o","f","t","w","a","r","e",".","c","o","m","/","p","r","o","d","u","c","t","s","/","c","r","y","s","t","a","l","r","e","p","o","r","t","s","/"],"cveids":[""],"certadvisory":"","uscerttechnicalalert":null,"datecreated":"2000-10-10T15:11:13Z","publicdate":"2001-01-11T00:00:00Z","datefirstpublished":"2001-01-10T23:18:28Z","dateupdated":"2001-01-10T23:18:30Z","revision":3,"vrda_d1_directreport":"","vrda_d1_population":"","vrda_d1_impact":"","cam_widelyknown":"1","cam_exploitation":"0","cam_internetinfrastructure":"0","cam_population":"6","cam_impact":"14","cam_easeofexploitation":"16","cam_attackeraccessrequired":"12","cam_scorecurrent":"0.3024","cam_scorecurrentwidelyknown":"6.048","cam_scorecurrentwidelyknownexploited":"12.096","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":0.3024,"vulnote":null}