PostgreSQL Database Security

posted Sep 17, 2010, 2:32 PM by Sachchida Ojha

If you wish to report a new security vulnerability in PostgreSQL, please send an email to security@postgresql.org. For reporting non-security bugs, please see the Report a Bug page.

The PostgreSQL Global Development Group (PGDG) takes security seriously, allowing our users to place their trust in the web sites and applications built around PostgreSQL. Our approach covers fail-safe configuration options, a secure and robust database server as well as good integration with other security infrastructure software.

PostgreSQL security updates are primarily made available as minor version upgrades. You are always advised to use the latest minor version available, as it will likely also contain other non-security related fixes. All known security issues are always fixed in the next major release, when it comes out.

PGDG believes that accuracy, completeness and availability of security information is essential for our users. We choose to pool all information on this one page, allowing easy searching for vulnerabilities by a range of criteria.

The following table lists all known security issues. Please note that versions prior to 7.3 are no longer supported and vulnerabilities for these versions are not included in this list. New vulnerabilities in these versions are no longer patched.

Vulnerabilities list which major releases they were present in, and which version they are fixed in for each. If the vulnerability was exploitable without a valid login, this is also stated.

ReferenceAffected
versions
Fixed inComponentDescription
CVE-2006-2314
FAQ
8.1, 8.0, 7.4, 7.38.1.4, 8.0.8, 7.4.13, 7.3.15core serverThe widely-used practice of escaping ASCII single quote "'" by turning it into "\'" is unsafe when operating in multibyte encodings that allow 0x5c (ASCII code for backslash) as the trailing byte of a multibyte character.
CVE-2006-2313
FAQ
8.1, 8.0, 7.4, 7.38.1.4, 8.0.8, 7.4.13, 7.3.15core serverAn attacker able to submit crafted strings to an application that will embed those strings in SQL commands can use invalidly-encoded multibyte characters to bypass standard string-escaping methods, resulting in possible SQL injection.
CVE-2006-0553
Announcement
8.18.1.3core serverA bug in the handling of SET ROLE allows escalation of privileges to any other database user, including superuser. A valid login is required to exploit this vulnerability.
CVE-2006-0678
Announcement
8.0, 7.4, 7.38.0.7, 7.4.12, 7.3.14core serverA bug in the handling of SET SESSION AUTHORIZATION can cause a backend crash in Assert enabled builds. This will cause the postmaster to restart all backend, resulting in a denial of service. A valid login is required to exploit this vulnerability.
CVE-2006-0105
Announcement
8.1, 8.08.1.2, 8.0.6core server, win32 onlyOn Windows only, the postmaster will exit if too many connection requests arrive simultaneously. This does not affect existing database connections, but will prevent new connections from being established until the postmaster is manually restarted.
Announcement8.1, 8.0, 7.4, 7.38.1.2, 8.0.6, 7.4.11, 7.3.13contrib moduleThere is a signedness bug in Openwall gen_salt code that pgcrypto uses. This makes the salt space for md5 and xdes algorithms a lot smaller than it should be. This only affects the gen_salt() function with md5 or xdes.
Release notes8.0, 7.48.0.3, 7.4.8core serverCalling COALESCE() with two NULL parameters would cause the current backend to crash, causing a denial of service. A valid login is required to exploit this vulnerability.
CVE-2005-1410
Announcement
8.0, 7.48.0.3, 7.4.8contrib moduleThe tsearch2 contrib module declares several functions as internal even though they don't take an internal argument. This allows attackers to cause a denial of service and may possibly have other impacts. A valid login is required to exploit this vulnerability.
Note! See the
announcement for special upgrade instructions.
CVE-2005-1409
Announcement
8.0, 7.4, 7.38.0.3, 7.4.8, 7.3.10core serverPublic EXECUTE access is given to certain character conversion functions that are not designed to be safe against malicious arguments. This can cause at least a denial of service. A valid login is required to exploit this vulnerability.
Note! See the
announcement for special upgrade instructions.
CVE-2005-02478.0, 7.48.0.2, 7.4.8core serverMultiple buffer overflows in the PL/PGSQL parser may allow attackers to execute arbitrary code. A valid login is required to exploit this vulnerability.
CVE-2005-02468.0, 7.4, 7.38.0.1, 7.4.7, 7.3.9contrib moduleThe intagg contrib module allows attackers to cause a denial of service. A valid login is required to exploit this vulnerability.
CVE-2005-02458.0, 7.4, 7.38.0.1, 7.4.7, 7.3.10core serverMultiple buffer overflows in the PL/PGSQL parser may allow attackers to execute arbitrary code. A valid login is required to exploit this vulnerability.
CVE-2005-02448.0, 7.4, 7.38.0.1, 7.4.7, 7.3.9core serverEXECUTE permissions are not properly checked when creating aggregates. A valid login is required to exploit this vulnerability.
CVE-2005-02278.0, 7.4, 7.38.0.1, 7.4.7, 7.3.9core serverAny database user is permitted to load arbitrary shared libraries using the LOAD command. A valid login is required to exploit this vulnerability.
CVE-2005-09777.4, 7.37.4.6, 7.3.8client contrib moduleContrib script make_oidjoins_check uses unsafe temporary files. This script is not a user-facing script.
Release notes7.47.4.3core serverA buffer overrun vulnerability exists in the enlargeStringInfo function and can be triggered by injecting bogus data in the datastream of an existing connection. A valid login is required to exploit this vulnerability.
Release notes7.37.3.6core serverA patch applied in 7.3.3 to fix a corner case in rule permissions checks turns out to have disabled rule-related permissions checks in many not-so-corner cases. This would for example allow users to insert into views they weren't supposed to have permission to insert into. A valid login is required to exploit this vulnerability.
CVE-2003-09017.37.3.4core serverA buffer overflow in the to_ascii function allows attackers to execute arbitrary code. A valid login is required to exploit this vulnerability.
Release notes7.37.3.2core serverThe fastpath function interface did not properly check for permissions before executing a function. A valid login is required to exploit this vulnerability.

Components

The following component references are used in the above table:

ComponentDescription
core serverThis vulnerability exists in the core server procuct.
clientThis vulnerability exists in a client library or client application only.
contrib moduleThis vulnerability exists in a contrib modules. Contrib modules are not installed by default when PostgreSQL is installed from source. They may be installed by binary packages.
client contrib moduleThis vulnerability exists in a contrib module used on the client only.
Comments