PostgreSQL PostgreSQL

stack.watch can notify you when security vulnerabilities are reported in any PostgreSQL product. You can add multiple products that you use with PostgreSQL to create your own personal software stack watcher.

Products by PostgreSQL Sorted by Most Security Vulnerabilities since 2018

PostgreSQL14 vulnerabilities

Postgresql Jdbc Driver2 vulnerabilities

Postgresql Common1 vulnerability

@postgresql Tweets

Check out the changes we made to make it easier to download the version of @PostgreSQL that you're looking for. Le… https://t.co/TqIRELwDIA
Tue Jul 07 16:05:11 +0000 2020

The PostgreSQL Community would like to extend its appreciation to all the DBAs out there. ❤️�� Happy DBA Appreciati… https://t.co/gWN6eVaKuQ
Fri Jul 03 19:00:00 +0000 2020

News: pg_probackup 2.4.1 has been released https://t.co/HaWdi6rmIq
Sat Jun 27 15:00:02 +0000 2020

News: PostgreSQL 13 Beta 2 Released! https://t.co/9iTlAWJmrP
Thu Jun 25 13:00:03 +0000 2020

News: PgBouncer 1.14.0 released https://t.co/HvQ5yZ5quX
Thu Jun 11 08:15:02 +0000 2020

By the Year

In 2020 there have been 2 vulnerabilities in PostgreSQL with an average score of 8.2 out of ten. Last year PostgreSQL had 7 security vulnerabilities published. Right now, PostgreSQL is on track to have less security vulerabilities in 2020 than it did last year. However, the average CVE base score of the vulnerabilities in 2020 is greater by 1.64.

Year Vulnerabilities Average Score
2020 2 8.15
2019 7 6.51
2018 8 8.11

It may take a day or so for new PostgreSQL vulnerabilities to show up. Additionally vulnerabilities may be tagged under a different product or component name.

Latest PostgreSQL Security Vulnerabilities

PostgreSQL JDBC Driver (aka PgJDBC) before 42.2.13

CVE-2020-13692 9.8 - Critical - June 04, 2020

PostgreSQL JDBC Driver (aka PgJDBC) before 42.2.13 allows XXE.

XXE

A flaw was found in PostgreSQL's "ALTER

CVE-2020-1720 6.5 - Medium - March 17, 2020

A flaw was found in PostgreSQL's "ALTER ... DEPENDS ON EXTENSION", where sub-commands did not perform authorization checks. An authenticated attacker could use this flaw in certain configurations to perform drop objects such as function, triggers, et al., leading to database corruption. This issue affects PostgreSQL versions before 12.2, before 11.7, before 10.12 and before 9.6.17.

AuthZ

The pg_ctlcluster script in postgresql-common in versions prior to 210 didn't drop privileges when creating socket/statistics temporary directories

CVE-2019-3466 7.8 - High - November 20, 2019

The pg_ctlcluster script in postgresql-common in versions prior to 210 didn't drop privileges when creating socket/statistics temporary directories, which could result in local privilege escalation.

Improper Privilege Management

A flaw was discovered in postgresql versions 9.4.x before 9.4.24, 9.5.x before 9.5.19, 9.6.x before 9.6.15, 10.x before 10.10 and 11.x before 11.5 where arbitrary SQL statements

CVE-2019-10208 8.8 - High - October 29, 2019

A flaw was discovered in postgresql versions 9.4.x before 9.4.24, 9.5.x before 9.5.19, 9.6.x before 9.6.15, 10.x before 10.10 and 11.x before 11.5 where arbitrary SQL statements can be executed given a suitable SECURITY DEFINER function. An attacker, with EXECUTE permission on the function, can execute arbitrary SQL as the owner of the function.

Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')

Postgresql

CVE-2019-10209 2.2 - Low - October 29, 2019

Postgresql, versions 11.x before 11.5, is vulnerable to a memory disclosure in cross-type comparison for hashed subplan.

Information Leak

A vulnerability was found in postgresql versions 11.x prior to 11.3

CVE-2019-10129 6.5 - Medium - July 30, 2019

A vulnerability was found in postgresql versions 11.x prior to 11.3. Using a purpose-crafted insert to a partitioned table, an attacker can read arbitrary bytes of server memory. In the default configuration, any user can create a partitioned table suitable for this attack. (Exploit prerequisites are the same as for CVE-2018-1052).

Information Leak

A vulnerability was found in PostgreSQL versions 11.x up to excluding 11.3

CVE-2019-10130 4.3 - Medium - July 30, 2019

A vulnerability was found in PostgreSQL versions 11.x up to excluding 11.3, 10.x up to excluding 10.8, 9.6.x up to, excluding 9.6.13, 9.5.x up to, excluding 9.5.17. PostgreSQL maintains column statistics for tables. Certain statistics, such as histograms and lists of most common values, contain values taken from the column. PostgreSQL does not evaluate row security policies before consulting those statistics during query planning; an attacker can exploit this to read the most common values of certain columns. Affected columns are those for which the attacker has SELECT privilege and for which, in an ordinary query, row-level security prunes the set of rows visible to the attacker.

Authorization

PostgreSQL versions 10.x before 10.9 and versions 11.x before 11.4 are vulnerable to a stack-based buffer overflow

CVE-2019-10164 8.8 - High - June 26, 2019

PostgreSQL versions 10.x before 10.9 and versions 11.x before 11.4 are vulnerable to a stack-based buffer overflow. Any authenticated user can overflow a stack-based buffer by changing the user's own password to a purpose-crafted value. This often suffices to execute arbitrary code as the PostgreSQL operating system account.

Memory Corruption

** DISPUTED ** In PostgreSQL 9.3 through 11.2, the "COPY TO/FROM PROGRAM" function

CVE-2019-9193 7.2 - High - April 01, 2019

** DISPUTED ** In PostgreSQL 9.3 through 11.2, the "COPY TO/FROM PROGRAM" function allows superusers and users in the 'pg_execute_server_program' group to execute arbitrary code in the context of the database's operating system user. This functionality is enabled by default and can be abused to run arbitrary operating system commands on Windows, Linux, and macOS. NOTE: Third parties claim/state this is not an issue because PostgreSQL functionality for COPY TO/FROM PROGRAM is acting as intended. References state that in PostgreSQL, a superuser can execute commands as the server user without using the COPY FROM PROGRAM.

Shell injection

postgresql before versions 11.1, 10.6 is vulnerable to a to SQL injection in pg_upgrade and pg_dump via CREATE TRIGGER

CVE-2018-16850 9.8 - Critical - November 13, 2018

postgresql before versions 11.1, 10.6 is vulnerable to a to SQL injection in pg_upgrade and pg_dump via CREATE TRIGGER ... REFERENCING. Using a purpose-crafted trigger definition, an attacker can cause arbitrary SQL statements to run, with superuser privileges.

Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')

A weakness was found in postgresql-jdbc before version 42.2.5

CVE-2018-10936 8.1 - High - August 30, 2018

A weakness was found in postgresql-jdbc before version 42.2.5. It was possible to provide an SSL Factory and not check the host name if a host name verifier was not provided to the driver. This could lead to a condition where a man-in-the-middle attacker could masquerade as a trusted server by providing a certificate for the wrong host, as long as it was signed by a trusted CA.

Improper Validation of Certificate with Host Mismatch

It was discovered that PostgreSQL versions before 10.5

CVE-2018-10925 8.1 - High - August 09, 2018

It was discovered that PostgreSQL versions before 10.5, 9.6.10, 9.5.14, 9.4.19, and 9.3.24 failed to properly check authorization on certain statements involved with "INSERT ... ON CONFLICT DO UPDATE". An attacker with "CREATE TABLE" privileges could exploit this to read arbitrary bytes server memory. If the attacker also had certain "INSERT" and limited "UPDATE" privileges to a particular table, they could exploit this to update other columns in the same table.

AuthZ

A vulnerability was found in libpq

CVE-2018-10915 7.5 - High - August 09, 2018

A vulnerability was found in libpq, the default PostgreSQL client library where libpq failed to properly reset its internal state between connections. If an affected version of libpq was used with "host" or "hostaddr" connection parameters from untrusted input, attackers could bypass client-side connection security features, obtain access to higher privileged connections or potentially cause other impact through SQL injection, by causing the PQescape() functions to malfunction. Postgresql versions before 10.5, 9.6.10, 9.5.14, 9.4.19, and 9.3.24 are affected.

Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')

postgresql before versions 10.4

CVE-2018-1115 9.1 - Critical - May 10, 2018

postgresql before versions 10.4, 9.6.9 is vulnerable in the adminpack extension, the pg_catalog.pg_logfile_rotate() function doesn't follow the same ACLs than pg_rorate_logfile. If the adminpack is added to a database, an attacker able to connect to it could exploit this to force log rotation.

A flaw was found in the way Postgresql allowed a user to modify the behavior of a query for other users

CVE-2018-1058 8.8 - High - March 02, 2018

A flaw was found in the way Postgresql allowed a user to modify the behavior of a query for other users. An attacker with a user account could use this flaw to execute code with the permissions of superuser in the database. Versions 9.3 through 10 are affected.

In postgresql 9.3.x before 9.3.21, 9.4.x before 9.4.16, 9.5.x before 9.5.11, 9.6.x before 9.6.7 and 10.x before 10.2, pg_upgrade creates file in current working directory containing the output of `pg_dumpall -g` under umask

CVE-2018-1053 7 - High - February 09, 2018

In postgresql 9.3.x before 9.3.21, 9.4.x before 9.4.16, 9.5.x before 9.5.11, 9.6.x before 9.6.7 and 10.x before 10.2, pg_upgrade creates file in current working directory containing the output of `pg_dumpall -g` under umask which was in effect when the user invoked pg_upgrade, and not under 0077 which is normally used for other temporary files. This can allow an authenticated attacker to read or modify the one file, which may contain encrypted or unencrypted database passwords. The attack is infeasible if a directory mode blocks the attacker searching the current working directory or if the prevailing umask blocks the attacker opening the file.

Incorrect Permission Assignment for Critical Resource

Memory disclosure vulnerability in table partitioning was found in postgresql 10.x before 10.2

CVE-2018-1052 6.5 - Medium - February 09, 2018

Memory disclosure vulnerability in table partitioning was found in postgresql 10.x before 10.2, allowing an authenticated attacker to read arbitrary bytes of server memory via purpose-crafted insert to a partitioned table.

Information Leak

Built by Foundeo Inc., with data from the National Vulnerability Database (NVD), Icons by Icons8