Note: This is an archival copy of Security Sun Alert 270408 as previously published on http://sunsolve.sun.com.
Latest version of this security advisory is available from http://support.oracle.com as Sun Alert 1021076.1.
Article ID : 1021076.1
Article Type : Sun Alerts (SURE)
Last reviewed : 2009-11-01
Audience : PUBLIC
Copyright Notice: Copyright © 2010, Oracle Corporation and/or its affiliates.

Security Vulnerabilities in PostgreSQL Shipped with Solaris may Allow a Denial of Service (DoS) or Privilege Escalation



Category
Security

Release Phase
Resolved

Bug Id
6879165, 6879166, 6784052, 6888545

Product
Solaris 10 Operating System
OpenSolaris

Date of Workaround Release
26-Oct-2009

Date of Resolved Release
02-Nov-2009

Security vulnerabilities affecting the PostgreSQL software:

1. Impact

Security vulnerabilities affecting the PostgreSQL software shipped with Solaris may allow an authenticated PostgreSQL user to cause a denial of service (DoS) to the PostgreSQL server by "re-LOAD-ing" libraries from a certain plugins directory. However, the PostgreSQL versions shipped with Solaris do not include any plugins. In addition, an issue with the privileges for RESET ROLE and RESET SESSION AUTHORIZATION operations may allow any authenticated users to gain extra privileges.

These issues are described in the following documents:

Official PostgreSQL announcement at: http://www.postgresql.org/about/news.1135
CVE-2009-3229 at: http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-3229
CVE-2009-3230 at: http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-3230

Note: PostgreSQL is not compiled with LDAP support on Solaris. Solaris is not affected with CVE-2009-3231.

2. Contributing Factors

This issue can occur in the following releases:

SPARC Platform
  • Solaris 10 (6/06 or later) PostgreSQL 8.1 without patch 123590-11
  • Solaris 10 (8/07 or later) PostgreSQL 8.2 without patch 136998-07
  • Solaris 10 (10/08 or later) PostgreSQL 8.3 without patch 138826-05
  • OpenSolaris PostgreSQL 8.1 based upon builds snv_35 through snv_109
  • OpenSolaris PostgreSQL 8.2 based upon builds snv_56 through snv_124
  • OpenSolaris PostgreSQL 8.3 based upon builds snv_87 through snv_124
x86 Platform
  • Solaris 10 (6/06 or later) PostgreSQL 8.1 without patch 123591-11
  • Solaris 10 (8/07 or later) PostgreSQL 8.2 without patch 136999-07
  • Solaris 10 (10/08 or later) PostgreSQL 8.3 without patch 138827-05
  • OpenSolaris PostgreSQL 8.1 based upon builds snv_35 through snv_109
  • OpenSolaris PostgreSQL 8.2 based upon builds snv_56 through snv_124
  • OpenSolaris PostgreSQL 8.3 based upon builds snv_87 through snv_124
Note 1: Solaris 8 and Solaris 9 do not ship with PostgreSQL and are thus not impacted by this issue.

Note 2:
A user exploiting this vulnerability must have an account on the PostgreSQL server.

Note 3: The issues described in CVE-2009-3229 affects PostgreSQL versions 8.2.x prior to 8.2.14, 8.3.x prior to 8.3.8, and versions 8.4.x prior to 8.4.1.

Note 4: The issues described in CVE-2009-3230 affects PostgreSQL 7.4.x prior to 7.4.26, 8.0.x prior to 8.0.22, 8.1.x prior to 8.1.18, 8.2.x prior to 8.2.14, 8.3.x prior to 8.3.8, and versions 8.4.x  prior to 8.4.1.

Note 5: PostgreSQL 8.1 (SUNWpostgr), 8.2 (packages beginning with SUNWpostgr-82) and 8.3 (packages beginning with SUNWpostgr-83)  can be installed at the same time and are separately impacted by these vulnerabilities.

Note 6: Only systems with PostgreSQL plugins installed are impacted by CVE-2009-3229 issue.

To determine if there are any  plugins installed, execute the following command:

for PostgreSQL 8.2:
    $ ls -l /usr/postgres/8.2/lib/plugins
/usr/postgres/8.2/lib/plugins: No such file or directory
$ ls -l /usr/postgres/8.2/lib/64/plugins
/usr/postgres/8.2/lib/64/plugins: No such file or directory
for PostgreSQL 8.3:
    $ ls -l /usr/postgres/8.3/lib/plugins
/usr/postgres/8.3/lib/plugins: No such file or directory
$ ls -l /usr/postgres/8.3/lib/64/plugins
/usr/postgres/8.3/lib/64/plugins: No such file or directory
To determine if a version of PostgreSQL is installed, the following command can be used:
    $ pkginfo | grep SUNWpostgr
system      SUNWpostgr             PostgreSQL 8.1.9 client programs and libraries
system      SUNWpostgr-82-client   PostgreSQL 8.2 client tools
To determine if PostgreSQL is running on a server, the following command can be run as the user "postgres" (or the "root" user):

for PostgreSQL 8.1:
    $ pg_ctl status -D /var/lib/pgsql/data/
pg_ctl: neither postmaster nor postgres running
for PostgreSQL 8.2:
    $ /usr/postgres/8.2/bin/pg_ctl status -D /var/postgres/8.2/data/
pg_ctl: server is running (PID: 395)
for PostgreSQL 8.3:
    $ /usr/postgres/8.3/bin/pg_ctl status -D /var/postgres/8.3/data/
pg_ctl: server is running (PID: 395)
or (where applicable):
    $ svcs -a | grep postgresql
disabled       17:12:37 svc:/application/database/postgresql_83:default_32bit
disabled       17:12:37 svc:/application/database/postgresql:version_82
disabled       17:12:37 svc:/application/database/postgresql:version_82_64bit
online         17:13:05 svc:/application/database/postgresql_83:default_64bit
3. Symptoms

If the described issue has been exploited to cause a Denial of Service (DoS), the postgres(1) process may crash, potentially leaving a core file.

4. Workaround

There is no workaround for this issues. Please see the Resolution section below.

5. Resolution

This issue is addressed in the following releases:

SPARC Platform
  • Solaris 10 (6/06 or later) PostgreSQL 8.1 with patch 123590-11 or later
  • Solaris 10 (8/07 or later) PostgreSQL 8.2 with patch 136998-07 or later
  • Solaris 10 (10/08 or later) PostgreSQL 8.3 with patch 138826-05 or later
  • OpenSolaris PostgreSQL 8.2 based upon builds snv_125 or later
  • OpenSolaris PostgreSQL 8.3 based upon builds snv_125 or later
x86 Platform
  • Solaris 10 (6/06 or later) PostgreSQL 8.1 with patch 123591-11 or later
  • Solaris 10 (8/07 or later) PostgreSQL 8.2 with patch 136999-07 or later
  • Solaris 10 (10/08 or later) PostgreSQL 8.3 with patch 138827-05 or later
  • OpenSolaris PostgreSQL 8.2 based upon builds snv_125 or later
  • OpenSolaris PostgreSQL 8.3 based upon builds snv_125 or later
Note: PostgreSQL 8.1 was removed from snv_110 onwards.

For more information on Security Sun Alerts, see 1009886.1.

This Sun Alert notification is being provided to you on an "AS IS" basis. This Sun Alert notification may contain information provided by third parties. The issues described in this Sun Alert notification may or may not impact your system(s). Sun makes no representations, warranties, or guarantees as to the information contained herein. ANY AND ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT, ARE HEREBY DISCLAIMED. BY ACCESSING THIS DOCUMENT YOU ACKNOWLEDGE THAT SUN SHALL IN NO EVENT BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, PUNITIVE, OR CONSEQUENTIAL DAMAGES THAT ARISE OUT OF YOUR USE OR FAILURE TO USE THE INFORMATION CONTAINED HEREIN. This Sun Alert notification contains Sun proprietary and confidential information. It is being provided to you pursuant to the provisions of your agreement to purchase services from Sun, or, if you do not have such an agreement, the Sun.com Terms of Use. This Sun Alert notification may only be used for the purposes contemplated by these agreements.

Copyright 2000-2009 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, CA 95054 U.S.A. All rights reserved.


Modification History
02-Nov-2009: Updated Contributing Factors and Resolution sections. Resolved.


References

136998-07
136999-07
138827-05
138822-05
138823-05
138824-05
138825-05
137001-05
137004-06
137005-06
137000-05
138826-05
123590-11
123591-11





Attachments
This solution has no attachment