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.
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.
You can filter the view of patches to show just patches for version:
13 -
12 -
11 -
10 -
9.6
- all
Reference | Affected | Fixed | Component & CVSS v3 Base Score | Description |
---|---|---|---|---|
Announcement |
9.1, 9.2, 9.3, 9.4, 9.5 | 9.1.24, 9.2.19, 9.3.15, 9.4.10, 9.5.5 | packaging 7.5 AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H |
Interactive installer downloads software over plain HTTP, then executes it |
Announcement |
9.1, 9.2, 9.3, 9.4, 9.5 | 9.1.23, 9.2.18, 9.3.14, 9.4.9, 9.5.4 | client 8.5 AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H |
Exceptional database and role names could enable escalation to superuser |
Announcement |
9.1, 9.2, 9.3, 9.4, 9.5 | 9.1.23, 9.2.18, 9.3.14, 9.4.9, 9.5.4 | core server 4.3 AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N |
Certain nested CASE/WHEN expressions can crash server |
Announcement |
9.1, 9.2, 9.3, 9.4, 9.5 | 9.1.20, 9.2.15, 9.3.11, 9.4.6, 9.5.1 | core server 6.5 AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:H |
Unchecked regex can crash the server |
Announcement |
9.0, 9.1, 9.2, 9.3, 9.4 | 9.0.23, 9.1.19, 9.2.14, 9.3.10, 9.4.5 | contrib module 3.1 AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:N |
Memory leak in crypt() function. |
Announcement |
9.0, 9.1, 9.2, 9.3, 9.4 | 9.0.20, 9.1.16, 9.2.11, 9.3.7, 9.4.2 | contrib module 3.7 AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N |
pgcrypto has multiple error messages for decryption with an incorrect key. |
Announcement |
9.0, 9.1, 9.2, 9.3, 9.4 | 9.0.20, 9.1.16, 9.2.11, 9.3.7, 9.4.2 | core server 5.6 AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:L |
Unanticipated errors from the standard library. |
Announcement |
9.0, 9.1, 9.2, 9.3, 9.4 | 9.0.20, 9.1.16, 9.2.11, 9.3.7, 9.4.2 | core server 7.5 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
Double "free" after authentication timeout |
Announcement |
9.0, 9.1, 9.2, 9.3, 9.4 | 9.0.19, 9.1.15, 9.2.10, 9.3.6, 9.4.1 | core server 8.1 AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H |
An error in extended protocol message reading. |
Announcement |
9.0, 9.1, 9.2, 9.3, 9.4 | 9.0.19, 9.1.15, 9.2.10, 9.3.6, 9.4.1 | contrib module 6.5 AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:H |
Memory errors in functions in the pgcrypto extension. |
Announcement |
9.0, 9.1, 9.2, 9.3, 9.4 | 9.0.19, 9.1.15, 9.2.10, 9.3.6, 9.4.1 | core server 4.2 AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:N |
Buffer overrun in replacement printf family of functions. |
Announcement |
9.0, 9.1, 9.2, 9.3, 9.4 | 9.0.19, 9.1.15, 9.2.10, 9.3.6, 9.4.1 | core server 4.2 AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:N |
Buffer overruns in "to_char" functions. |
|
9.0, 9.1, 9.2, 9.3, 9.4 | 9.0.19, 9.1.15, 9.2.10, 9.3.6, 9.4.1 | core server 3.1 AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:N |
Constraint violation errors can cause display of values in columns which the user would not normally have rights to see. |
|
9.0, 9.1, 9.2, 9.3, 9.4 | 9.0.19, 9.1.15, 9.2.10, 9.3.6, 9.4.1 | other 7.0 AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H |
Unauthenticated users may gain access to the database server during "make check".. more details |
|
8.4, 9.0, 9.1, 9.2, 9.3 | 8.4.20, 9.0.16, 9.1.12, 9.2.7, 9.3.3 | contrib module 0.0 AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:N |
Potential null pointer dereference crash when crypt(3) returns NULL. more details |
|
8.4, 9.0, 9.1, 9.2, 9.3 | 8.4.20, 9.0.16, 9.1.12, 9.2.7, 9.3.3 | core server 0.0 AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:N |
Potential buffer overruns of fixed-size buffers. more details |
|
8.4, 9.0, 9.1, 9.2, 9.3 | 8.4.20, 9.0.16, 9.1.12, 9.2.7, 9.3.3 | core server 6.5 AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:H |
Potential buffer overruns due to integer overflow in size calculations. more details |
|
8.4, 9.0, 9.1, 9.2, 9.3 | 8.4.20, 9.0.16, 9.1.12, 9.2.7, 9.3.3 | core server 4.3 AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N |
Potential buffer overruns in datetime input/output. more details |
|
8.4, 9.0, 9.1, 9.2, 9.3 | 8.4.20, 9.0.16, 9.1.12, 9.2.7, 9.3.3 | core server 8.8 AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
Race condition in CREATE INDEX allows for privilege escalation. more details |
|
8.4, 9.0, 9.1, 9.2, 9.3 | 8.4.20, 9.0.16, 9.1.12, 9.2.7, 9.3.3 | core server 7.5 AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H |
Privilege escalation via calls to validator functions. more details |
|
8.4, 9.0, 9.1, 9.2, 9.3 | 8.4.20, 9.0.16, 9.1.12, 9.2.7, 9.3.3 | core server 3.1 AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:L |
SET ROLE bypasses lack of ADMIN OPTION. more details |
|
9.1, 9.2 | 9.1.9, 9.2.4 | core server Legacy: D |
An unprivileged user can run commands that could interfere with in-progress backups. |
|
8.4, 9.0, 9.1, 9.2 | 8.4.17, 9.0.13, 9.1.9, 9.2.4 | contrib module Legacy: C |
Random numbers generated by contrib/pgcrypto functions may be easy for another database user to guess |
|
9.0, 9.1, 9.2 | 9.0.13, 9.1.9, 9.2.4 | core server Legacy: 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 |
|
8.3, 8.4, 9.0, 9.1, 9.2 | 8.3.23, 8.4.16, 9.0.12, 9.1.8, 9.2.3 | core server Legacy: D |
executing enum_recv() with wrong parameters crashes server |
|
8.3, 8.4, 9.0, 9.1 | 8.3.20, 8.4.13, 9.0.9, 9.1.5 | core server Legacy: C |
xml_parse() DTD validation can be used to read arbitrary files |
|
8.3, 8.4, 9.0, 9.1 | 8.3.20, 8.4.13, 9.0.9, 9.1.5 | contrib module Legacy: C |
contrib/xml2's xslt_process() can be used to read and write arbitrary files |
|
8.3, 8.4, 9.0, 9.1 | 8.3.19, 8.4.12, 9.0.8, 9.1.4 | core server Legacy: D |
SECURITY DEFINER and SET attributes on procedural call handlers are not ignored and can be used to crash the server |
|
8.3, 8.4, 9.0, 9.1 | 8.3.19, 8.4.12, 9.0.8, 9.1.4 | contrib module Legacy: C |
Passwords containing the byte 0x80 passed to the crypt() function in pgcrypto are incorrectly truncated if DES encryption was used |
|
8.3, 8.4, 9.0, 9.1 | 8.3.18, 8.4.11, 9.0.7, 9.1.3 | core server Legacy: C |
Line breaks in object names can be exploited to execute arbitrary SQL when reloading a pg_dump file. |
|
8.4, 9.0, 9.1 | 8.4.11, 9.0.7, 9.1.3 | core server Legacy: A |
SSL certificate name checks are truncated to 32 characters, allowing connection spoofing under some circumstances when using third party certificate authorities. |
|
8.3, 8.4, 9.0, 9.1 | 8.3.18, 8.4.11, 9.0.7, 9.1.3 | core server Legacy: C |
Permissions on a function called by a trigger are not properly checked. |
You can also view archived security patches for unsupported versions. Note that no further
security patches are made available for these versions as they are end of life.
9.5 -
9.4 -
9.3 -
9.2 -
9.1 -
9.0 -
8.4 -
8.3 -
8.2 -
8.1 -
8.0 -
7.4 -
7.3
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. |