If you wish to report a new security vulnerability in PostgreSQL, please send an email to [email protected]. 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 9.2 are no longer supported. An archive of vulnerabilities found only in unsupported versions is on our Security Archive page, but vulnerability information on those versions is no longer updated, nor are vulnerabilities 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 vulnerability class, 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 | Class | Description |
|---|---|---|---|---|---|
| CVE-2016-5423 | 9.5, 9.4, 9.3, 9.2, 9.1 | 9.5.4, 9.4.9, 9.3.14, 9.2.18, 9.1.23 | core server | C | Certain nested CASE/WHEN expressions can crash server |
| CVE-2016-5424 | 9.5, 9.4, 9.3, 9.2, 9.1 | 9.5.4, 9.4.9, 9.3.14, 9.2.18, 9.1.23 | client | C | Exceptional database and role names could enable escalation to superuser |
| CVE-2016-2193 | 9.5 | 9.5.2 | core server | C | Plan cache might use wrong role context for RLS policy |
| CVE-2016-3065 | 9.5 | 9.5.2 | contrib | C | pageinspect does not check permissions for BRIN indexes |
| CVE-2016-0773 | 9.5, 9.4, 9.3, 9.2, 9.1 | 9.5.1, 9.4.6, 9.3.11, 9.2.15, 9.1.20 | core server | C | Unchecked regex can crash the server |
| CVE-2015-5289 | 9.4, 9.3 | 9.4.5, 9.3.10 | core server | B | Unchecked JSON input can crash the server |
| CVE-2015-5288 | 9.4, 9.3, 9.2, 9.1, 9.0 | 9.4.5, 9.3.10, 9.2.14, 9.1.19, 9.0.23 | contrib module | C | Memory leak in crypt() function. |
| CVE-2015-3165 | 9.4, 9.3, 9.2, 9.1, 9.0 | 9.4.2, 9.3.7, 9.2.11, 9.1.16, 9.0.20 | core server | B | Double "free" after authentication timeout |
| CVE-2015-3166 | 9.4, 9.3, 9.2, 9.1, 9.0 | 9.4.2, 9.3.7, 9.2.11, 9.1.16, 9.0.20 | core server, client | D | Unanticipated errors from the standard library. |
| CVE-2015-3167 | 9.4, 9.3, 9.2, 9.1, 9.0 | 9.4.2, 9.3.7, 9.2.11, 9.1.16, 9.0.20 | contrib module | C | pgcrypto has multiple error messages for decryption with an incorrect key. |
| CVE-2015-0241 | 9.4, 9.3, 9.2, 9.1, 9.0 | 9.4.1, 9.3.6, 9.2.10, 9.1.15, 9.0.19 | core server | C | Buffer overruns in "to_char" functions. |
| CVE-2015-0242 | 9.4, 9.3, 9.2, 9.1, 9.0 | 9.4.1, 9.3.6, 9.2.10, 9.1.15, 9.0.19 | core server | C | Buffer overrun in replacement printf family of functions. |
| CVE-2015-0243 | 9.4, 9.3, 9.2, 9.1, 9.0 | 9.4.1, 9.3.6, 9.2.10, 9.1.15, 9.0.19 | contrib module | C | Memory errors in functions in the pgcrypto extension. |
| CVE-2015-0244 | 9.4, 9.3, 9.2, 9.1, 9.0 | 9.4.1, 9.3.6, 9.2.10, 9.1.15, 9.0.19 | core server | C | An error in extended protocol message reading. |
| CVE-2014-8161 | 9.4, 9.3, 9.2, 9.1, 9.0 | 9.4.1, 9.3.6, 9.2.10, 9.1.15, 9.0.19 | core server | C | Constraint violation errors can cause display of values in columns which the user would not normally have rights to see. |
| CVE-2014-0067 | 9.4, 9.3, 9.2, 9.1, 9.0 | 9.4.1, 9.3.6, 9.2.10, 9.1.15, 9.0.19 | other | N/A | Unauthenticated users may gain access to the database server during "make check". Details. |
| CVE-2014-0060 | 9.3, 9.2, 9.1, 9.0, 8.4 | 9.3.3, 9.2.7, 9.1.12, 9.0.16, 8.4.20 | core server | C | SET ROLE bypasses lack of ADMIN OPTION. Details |
| CVE-2014-0061 | 9.3, 9.2, 9.1, 9.0, 8.4 | 9.3.3, 9.2.7, 9.1.12, 9.0.16, 8.4.20 | core server | C | Privilege escalation via calls to validator functions. Details |
| CVE-2014-0062 | 9.3, 9.2, 9.1, 9.0, 8.4 | 9.3.3, 9.2.7, 9.1.12, 9.0.16, 8.4.20 | core server | C | Race condition in CREATE INDEX allows for privilege escalation. Details |
| CVE-2014-0063 | 9.3, 9.2, 9.1, 9.0, 8.4 | 9.3.3, 9.2.7, 9.1.12, 9.0.16, 8.4.20 | core server, ECPG | C | Potential buffer overruns in datetime input/output. Details |
| CVE-2014-0064 | 9.3, 9.2, 9.1, 9.0, 8.4 | 9.3.3, 9.2.7, 9.1.12, 9.0.16, 8.4.20 | core server, contrib | C | Potential buffer overruns due to integer overflow in size calculations. Details |
| CVE-2014-0065 | 9.3, 9.2, 9.1, 9.0, 8.4 | 9.3.3, 9.2.7, 9.1.12, 9.0.16, 8.4.20 | core server | C | Potential buffer overruns of fixed-size buffers. Details |
| CVE-2014-0066 | 9.3, 9.2, 9.1, 9.0, 8.4 | 9.3.3, 9.2.7, 9.1.12, 9.0.16, 8.4.20 | contrib module | D | Potential null pointer dereference crash when crypt(3) returns NULL. Details |
| CVE-2013-1899 | 9.2, 9.1, 9.0 | 9.2.4, 9.1.9, 9.0.13 | core server | A | A connection request containing a database name that begins with "-" may be crafted to damage or destroy files within a server's data directory |
| CVE-2013-1900 | 9.2, 9.1, 9.0, 8.4 | 9.2.4, 9.1.9, 9.0.13, 8.4.17 | contrib module | C | Random numbers generated by contrib/pgcrypto functions may be easy for another database user to guess |
| CVE-2013-1901 | 9.2, 9.1 | 9.2.4, 9.1.9 | core server | D | An unprivileged user can run commands that could interfere with in-progress backups. |
| CVE-2013-1902 | 9.2, 9.1, 9.0, 8.4, 8.3 | 9.2.4-1, 9.1.9-1, 9.0.13-1, 8.4.17-1, 8.3.23-3 | packaging | C | EnterpriseDB's installers for Linux and Mac OS X created a directory and file in /tmp with predictable names. |
| CVE-2013-1903 | 9.2, 9.1, 9.0, 8.4, 8.3 | 9.2.4-1, 9.1.9-1, 9.0.13-1, 8.4.17-1, 8.3.23-3 | packaging | C | EnterpriseDB's installers for Linux and Mac OS X passed the database superuser password to a script in an insecure fashion. |
| CVE-2013-0255 | 9.2, 9.1, 9.0, 8.4, 8.3 | 9.2.3, 9.1.8, 9.0.12, 8.4.16, 8.3.23 | core server | D | executing enum_recv() with wrong parameters crashes server |
The following vulnerability class references are used in the above table:
| Class | 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 module. 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. |
| packaging | This vulnerability exists in PostgreSQL binary packaging, e.g. an installer or RPM. |