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).
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&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.
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.
Do not use Seagate Crystal Reports to access databases with strong security requirements.
If you must access databases with security requirement, you should employ as many of the following techniques as possible:
* Protect the databases with passwords
* Use the ASP capabilities of Seagate Crystal Reports (SCR)
* Restrict the database server so that it can only be accessed by the web server
* Restrict access to the web page
* Use Secure Socket Layer (SSL) to secure HTML files in transit from network eavesdroppers
403307
Filter by status: All Affected Not Affected Unknown
Filter by content: __ Additional information available
__ Sort by: Status Alphabetical
Expand all
Javascript is disabled. Click here to view vendors.
Notified: October 12, 2000 Updated: October 19, 2000
Affected
We have not received a statement from the vendor.
The vendor has not provided us with any further information regarding this vulnerability.
The CERT/CC has no additional comments at this time.
If you have feedback, comments, or additional information about this vulnerability, please send us [email](<mailto:[email protected]?Subject=VU%23403307 Feedback>).
Group | Score | Vector |
---|---|---|
Base | ||
Temporal | ||
Environmental |
<http://www.seagatesoftware.com/products/crystalreports/>
Thanks to Kevin Dean for reporting this vulnerability to the CERT/CC, as well as his patience and assistance in preparing this document.
This document was written by Cory F Cohen.
CVE IDs: | None |
---|---|
Severity Metric: | 0.30 Date Public: |