PostgreSQL security releases 8.1.3, 8.0.7, 7.4.12, 7.3.14
PostgreSQL versions 8.1.3, 8.0.7, 7.4.12 and 7.3.14 have been released
fixing two security issues.
Details of vulnerability 1
--------------------------
Vulnerability type: Escalation of privileges
Remotely exploitable: No (requires valid login)
Affected versions: PostgreSQL 8.1.0-8.1.2
Fixed versions: PostgreSQL 8.1.3
Affected platforms: All
CVE: CVE-2006-0553 (http://cve.mitre.org/cgi-bin/cvename.cgi?name=2006-0553)
Vulnerability description
-------------------------
By issuing SET ROLE with a specially crafted argument, it is possible
for any logged-in database user to acquire the privileges of any other
database user, including superusers. Database superuser status allows
access to the machine's filesystem and hence might be used to mount
remote attacks against the rest of the server's operating system.
SET ROLE is not available in PostgreSQL prior to version 8.1.
Details of vulnerability 2
--------------------------
Vulnerability type: Denial of service
Remotely exploitable: No (requires valid login)
Affected versions: PostgreSQL 8.0.0-8.0.6, 7.4.0-7.4.11, 7.3.0-7.3.13
Fixed versions: PostgreSQL 8.0.7, 7.4.12, 7.3.14
Affected platforms: All
CVE: CVE-2006-0678 (http://cve.mitre.org/cgi-bin/cvename.cgi?name=2006-0678)
Vulnerability description
-------------------------
A similar issue exists in SET SESSION AUTHORIZATION. This variant cannot
be exploited for privilege escalation, because one must already be
superuser to use SET SESSION AUTHORIZATION.
However, if the server has been compiled with Asserts enabled (which is
not the default), then it is possible to trigger an Assert failure
before the privilege check is reached. This would cause a momentary
denial of service to other database users.
Solution
--------
Upgrade to version 8.1.3, 8.0.7, 7.4.12 or 7.3.14 respectively,
available from http://www.postgresql.org/ftp/ in both source and binary
formats.
Mitigating factors
------------------
A valid login to the database is required before any of these
vulnerabilities can be exploited.
PostgreSQL will not allow execution as "root" on Unix or with
administrator permissions on Windows, which limits the exposure of other
parts of the system.
Timeline
--------
2006-02-03 - Vulnerability reported
2006-02-03 - Initial stop-gap patch created
2006-02-12 - Patch applied to main tree and new versions packaged
2006-02-14 - New versions announced
Credits
-------
The PostgreSQL Global Development Group thanks Akio Ishida for reporting
this vulnerability.