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. They also list a severity, but we urge all users to read the description to determine if the bug affects specific installations or not.
| Reference | Affected versions |
Fixed in | Component | Sev | Description |
|---|---|---|---|---|---|
| CVE-2007-0556 | 8.2, 8.1, 8.0 | 8.2.2, 8.1.7, 8.0.11 | core server | C | A vulnerability involving changing the data type of a table column can easily be exploited to cause a backend crash, and in principle might be used to read database content that the user should not be able to access. |
| CVE-2007-0555 | 8.2, 8.1, 8.0, 7.4, 7.3 | 8.2.2, 8.1.7, 8.0.11, 7.4.16, 7.3.13 | core server | C | A vulnerability allows suppressing the normal checks that a SQL function returns the data type it's declared to do. These errors can easily be exploited to cause a backend crash, and in principle might be used to read database content that the user should not be able to access. |
| CVE-2006-5542 Announcement |
8.1 | 8.1.5 | core server | D | A bug in the logging of V3 protocol messages can cause a denial of service. A valid login is required to exploit this vulnerability. |
| CVE-2006-5541 Announcement |
8.1, 8.0, 7.4 | 8.1.5, 8.0.9, 7.4.14 | core server | D | A bug in the coercion of unknown literals to ANYARRAY can cause a denial of service. A valid login is required to exploit this vulnerability. |
| CVE-2006-5540 Announcement |
8.1 | 8.1.5 | core server | D | A bug in the handling of aggregates in UPDATE can cause a denial of service. A valid login is required to exploit this vulnerability. |
| CVE-2006-2314 FAQ |
8.1, 8.0, 7.4, 7.3 | 8.1.4, 8.0.8, 7.4.13, 7.3.15 | core server | A | The 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.3 | 8.1.4, 8.0.8, 7.4.13, 7.3.15 | core server | A | An 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.1 | 8.1.3 | core server | C | A 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.3 | 8.0.7, 7.4.12, 7.3.14 | core server | D | A 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.0 | 8.1.2, 8.0.6 | core server, win32 only | B | On 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. |
| Announcement | 8.1, 8.0, 7.4, 7.3 | 8.1.2, 8.0.6, 7.4.11, 7.3.13 | contrib module | There 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 notes | 8.0, 7.4 | 8.0.3, 7.4.8 | core server | D | Calling 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.4 | 8.0.3, 7.4.8 | contrib module | D | The 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.3 | 8.0.3, 7.4.8, 7.3.10 | core server | D | Public 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-0247 | 8.0, 7.4 | 8.0.2, 7.4.8 | core server | C | Multiple 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-0246 | 8.0, 7.4, 7.3 | 8.0.1, 7.4.7, 7.3.9 | contrib module | D | The intagg contrib module allows attackers to cause a denial of service. A valid login is required to exploit this vulnerability. |
| CVE-2005-0245 | 8.0, 7.4, 7.3 | 8.0.1, 7.4.7, 7.3.10 | core server | C | Multiple 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-0244 | 8.0, 7.4, 7.3 | 8.0.1, 7.4.7, 7.3.9 | core server | C | EXECUTE permissions are not properly checked when creating aggregates. A valid login is required to exploit this vulnerability. |
| CVE-2005-0227 | 8.0, 7.4, 7.3 | 8.0.1, 7.4.7, 7.3.9 | core server | C | Any database user is permitted to load arbitrary shared libraries using the LOAD command. A valid login is required to exploit this vulnerability. |
| CVE-2005-0977 | 7.4, 7.3 | 7.4.6, 7.3.8 | client contrib module | Contrib script make_oidjoins_check uses unsafe temporary files. This script is not a user-facing script. | |
| Release notes | 7.4 | 7.4.3 | core server | C | A 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 notes | 7.3 | 7.3.6 | core server | C | A 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-0901 | 7.3 | 7.3.4 | core server | C | A buffer overflow in the to_ascii function allows attackers to execute arbitrary code. A valid login is required to exploit this vulnerability. |
| Release notes | 7.3 | 7.3.2 | core server | C | The fastpath function interface did not properly check for permissions before executing a function. A valid login is required to exploit this vulnerability. |
The following severity references are used in the above table:
| Severity | Description |
|---|---|
| A | A vulnerability that is exploitable for privilege escalation without requiring a prior login. |
| B | A vulnerability that is exploitable for denial-of-service without requiring a prior login. |
| C | A vulnerabilty that is exploitable for privilege escalation, but requiring a valid prior login. |
| D | A vulnerability that is exploitable for denial-of-service, but requiring a valid prior login. |
The following component references are used in the above table:
| Component | Description |
|---|---|
| core server | This vulnerability exists in the core server product. |
| client | This vulnerability exists in a client library or client application only. |
| contrib module | This 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 module | This vulnerability exists in a contrib module used on the client only. |