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
Filter by status: All Affected Not Affected Unknown
Filter by content: __ Additional information available
__ Sort by: Status Alphabetical
Notified: October 12, 2000 Updated: October 19, 2000
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.
Group | Score | Vector
Base | |
Temporal | |
Environmental | |
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: | 2001-01-11
Date First Published: | 2001-01-10
Date Last Updated: | 2001-01-10 23:18 UTC
Document Revision: | 3