Vulnerability Note VU#403307

Seagate Crystal Reports exposes cleartext username/password pairs when embedded in URL or HTTP request

Original Release date: 10 Jan 2001 | Last revised: 10 Jan 2001

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).

Description

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.

Solution

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

Even in the presence of all these precautions, you may not be safe from all variations of this vulnerability.

Systems Affected (Learn More)

VendorStatusDate NotifiedDate Updated
SeagateAffected12 Oct 200019 Oct 2000
If you are a vendor and your product is affected, let us know.

CVSS Metrics (Learn More)

Group Score Vector
Base N/A N/A
Temporal N/A N/A
Environmental N/A N/A

References

Credit

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.

Other Information

  • CVE IDs: Unknown
  • Date Public: 11 Jan 2001
  • Date First Published: 10 Jan 2001
  • Date Last Updated: 10 Jan 2001
  • Severity Metric: 0.30
  • Document Revision: 2

Feedback

If you have feedback, comments, or additional information about this vulnerability, please send us email.