PostgreSQL The PostgreSQL Database Server
Don't miss out!
Thousands of developers use stack.watch to stay informed.Get an email whenever new security vulnerabilities are reported in PostgreSQL.
PostgreSQL EOL Dates
Ensure that you are using a supported version of PostgreSQL. Here are some end of life, and end of support dates for PostgreSQL.
| Release | EOL Date | Status |
|---|---|---|
| 18 | November 14, 2030 |
Active
PostgreSQL 18 will become EOL in 4 years (in 2030). |
| 17 | November 8, 2029 |
Active
PostgreSQL 17 will become EOL in 3 years (in 2029). |
| 16 | November 9, 2028 |
Active
PostgreSQL 16 will become EOL in two years (in 2028). |
| 15 | November 11, 2027 |
Active
PostgreSQL 15 will become EOL next year, in November 2027. |
| 14 | November 12, 2026 |
EOL This Year
PostgreSQL 14 will become EOL this year, in November 2026. |
| 13 | November 13, 2025 |
EOL
PostgreSQL 13 became EOL in 2025. |
| 12 | November 21, 2024 |
EOL
PostgreSQL 12 became EOL in 2024. |
| 11 | November 9, 2023 |
EOL
PostgreSQL 11 became EOL in 2023. |
| 10 | November 10, 2022 |
EOL
PostgreSQL 10 became EOL in 2022. |
| 9.6 | November 11, 2021 |
EOL
PostgreSQL 9.6 became EOL in 2021. |
| 9.5 | February 11, 2021 |
EOL
PostgreSQL 9.5 became EOL in 2021. |
| 9.4 | February 13, 2020 |
EOL
PostgreSQL 9.4 became EOL in 2020. |
| 9.3 | November 8, 2018 |
EOL
PostgreSQL 9.3 became EOL in 2018. |
| 9.2 | November 9, 2017 |
EOL
PostgreSQL 9.2 became EOL in 2017. |
| 9.1 | October 27, 2016 |
EOL
PostgreSQL 9.1 became EOL in 2016. |
| 9.0 | October 8, 2015 |
EOL
PostgreSQL 9.0 became EOL in 2015. |
| 8.4 | July 24, 2014 |
EOL
PostgreSQL 8.4 became EOL in 2014. |
| 8.3 | February 7, 2013 |
EOL
PostgreSQL 8.3 became EOL in 2013. |
| 8.2 | December 5, 2011 |
EOL
PostgreSQL 8.2 became EOL in 2011. |
| 8.1 | November 8, 2010 |
EOL
PostgreSQL 8.1 became EOL in 2010. |
By the Year
In 2026 there have been 5 vulnerabilities in PostgreSQL with an average score of 7.8 out of ten. Last year, in 2025 PostgreSQL had 8 security vulnerabilities published. If vulnerabilities keep coming in at the current rate, it appears that number of security vulnerabilities in PostgreSQL in 2026 could surpass last years number. However, the average CVE base score of the vulnerabilities in 2026 is greater by 3.28.
| Year | Vulnerabilities | Average Score |
|---|---|---|
| 2026 | 5 | 7.78 |
| 2025 | 8 | 4.50 |
| 2024 | 9 | 6.24 |
| 2023 | 9 | 5.18 |
| 2022 | 7 | 7.33 |
| 2021 | 5 | 6.53 |
| 2020 | 7 | 7.55 |
| 2019 | 7 | 6.40 |
| 2018 | 8 | 8.24 |
It may take a day or so for new PostgreSQL vulnerabilities to show up in the stats or in the list of recent security vulnerabilities. Additionally vulnerabilities may be tagged under a different product or component name.
Recent PostgreSQL Security Vulnerabilities
PostgreSQL Heap Buffer Overflow in pg_trgm (18.1,18.0)
CVE-2026-2007
8.2 - High
- February 12, 2026
Heap buffer overflow in PostgreSQL pg_trgm allows a database user to achieve unknown impacts via a crafted input string. The attacker has limited control over the byte patterns to be written, but we have not ruled out the viability of attacks that lead to privilege escalation. PostgreSQL 18.1 and 18.0 are affected.
Heap-based Buffer Overflow
Heap Buffer Overflow in PostgreSQL pgcrypto (pre 18.2/17.8/16.12/15.16/14.21) OS Exploit
CVE-2026-2005
8.8 - High
- February 12, 2026
Heap buffer overflow in PostgreSQL pgcrypto allows a ciphertext provider to execute arbitrary code as the operating system user running the database. Versions before PostgreSQL 18.2, 17.8, 16.12, 15.16, and 14.21 are affected.
Heap-based Buffer Overflow
PostgreSQL Buffer Overrun via Char Valid. (18.2/17.8/16.12/15.16/14.21)
CVE-2026-2006
8.8 - High
- February 12, 2026
Missing validation of multibyte character length in PostgreSQL text manipulation allows a database user to issue crafted queries that achieve a buffer overrun. That suffices to execute arbitrary code as the operating system user running the database. Versions before PostgreSQL 18.2, 17.8, 16.12, 15.16, and 14.21 are affected.
out-of-bounds array index
PostgreSQL intarray RCE before 18.2/17.8/16.12/15.16/14.21
CVE-2026-2004
8.8 - High
- February 12, 2026
Missing validation of type of input in PostgreSQL intarray extension selectivity estimator function allows an object creator to execute arbitrary code as the operating system user running the database. Versions before PostgreSQL 18.2, 17.8, 16.12, 15.16, and 14.21 are affected.
Improper Validation of Specified Type of Input
PostgreSQL <18.2 Improper oidvector Validation Server Memory Disclosure
CVE-2026-2003
4.3 - Medium
- February 12, 2026
Improper validation of type "oidvector" in PostgreSQL allows a database user to disclose a few bytes of server memory. We have not ruled out viability of attacks that arrange for presence of confidential information in disclosed bytes, but they seem unlikely. Versions before PostgreSQL 18.2, 17.8, 16.12, 15.16, and 14.21 are affected.
Improper Validation of Specified Type of Input
PostgreSQL libpq Int Wraparound OOB Allocation 13-17 Pre-18.1
CVE-2025-12818
5.9 - Medium
- November 13, 2025
Integer wraparound in multiple PostgreSQL libpq client library functions allows an application input provider or network peer to cause libpq to undersize an allocation and write out-of-bounds by hundreds of megabytes. This results in a segmentation fault for the application using libpq. Versions before PostgreSQL 18.1, 17.7, 16.11, 15.15, 14.20, and 13.23 are affected.
Integer Overflow or Wraparound
PostgreSQL CREATE STATISTICS Auth Bypass Causing DoS 18.1
CVE-2025-12817
3.1 - Low
- November 13, 2025
Missing authorization in PostgreSQL CREATE STATISTICS command allows a table owner to achieve denial of service against other CREATE STATISTICS users by creating in any schema. A later CREATE STATISTICS for the same name, from a user having the CREATE privilege, would then fail. Versions before PostgreSQL 18.1, 17.7, 16.11, 15.15, 14.20, and 13.23 are affected.
AuthZ
CVE-2025-8715: pg_dump Newline Code Injection (PG <17.6, <16.10, <15.14, <14.19, <13.22)
CVE-2025-8715
- August 14, 2025
Improper neutralization of newlines in pg_dump in PostgreSQL allows a user of the origin server to inject arbitrary code for restore-time execution as the client operating system account running psql to restore the dump, via psql meta-commands inside a purpose-crafted object name. The same attacks can achieve SQL injection as a superuser of the restore target server. pg_dumpall, pg_restore, and pg_upgrade are also affected. Versions before PostgreSQL 17.6, 16.10, 15.14, 14.19, and 13.22 are affected. Versions before 11.20 are unaffected. CVE-2012-0868 had fixed this class of problem, but version 11.20 reintroduced it.
PostgreSQL < 17.6: pg_dump Untrusted Data Inclusion Exec Vulnerability
CVE-2025-8714
- August 14, 2025
Untrusted data inclusion in pg_dump in PostgreSQL allows a malicious superuser of the origin server to inject arbitrary code for restore-time execution as the client operating system account running psql to restore the dump, via psql meta-commands. pg_dumpall is also affected. pg_restore is affected when used to generate a plain-format dump. This is similar to MySQL CVE-2024-21096. Versions before PostgreSQL 17.6, 16.10, 15.14, 14.19, and 13.22 are affected.
PostgreSQL <=16.10 / <=17.6 Optimizer Stats leak VIEW & RLS
CVE-2025-8713
- August 14, 2025
PostgreSQL optimizer statistics allow a user to read sampled data within a view that the user cannot access. Separately, statistics allow a user to read sampled data that a row security policy intended to hide. PostgreSQL maintains statistics for tables by sampling data available in columns; this data is consulted during the query planning process. Prior to this release, a user could craft a leaky operator that bypassed view access control lists (ACLs) and bypassed row security policies in partitioning or table inheritance hierarchies. Reachable statistics data notably included histograms and most-common-values lists. CVE-2017-7484 and CVE-2019-10130 intended to close this class of vulnerability, but this gap remained. Versions before PostgreSQL 17.6, 16.10, 15.14, 14.19, and 13.22 are affected.
Plain Text Credentials Stored in Local PostgreSQL Database
CVE-2025-1709
- July 03, 2025
Several credentials for the local PostgreSQL database are stored in plain text (partially base64 encoded).
PostgreSQL GB18030 Buffer Over-read (before 17.5/16.9/15.13/14.18/13.21)
CVE-2025-4207
- May 08, 2025
Buffer over-read in PostgreSQL GB18030 encoding validation allows a database input provider to achieve temporary denial of service on platforms where a 1-byte over-read can elicit process termination. This affects the database server and also libpq. Versions before PostgreSQL 17.5, 16.9, 15.13, 14.18, and 13.21 are affected.
PostgreSQL <=17.3 Improper quoting in libpq PQescape* causes SQLi
CVE-2025-1094
- February 13, 2025
Improper neutralization of quoting syntax in PostgreSQL libpq functions PQescapeLiteral(), PQescapeIdentifier(), PQescapeString(), and PQescapeStringConn() allows a database input provider to achieve SQL injection in certain usage patterns. Specifically, SQL injection requires the application to use the function result to construct input to psql, the PostgreSQL interactive terminal. Similarly, improper neutralization of quoting syntax in PostgreSQL command line utility programs allows a source of command line arguments to achieve SQL injection when client_encoding is BIG5 and server_encoding is one of EUC_TW or MULE_INTERNAL. Versions before PostgreSQL 17.3, 16.7, 15.11, 14.16, and 13.19 are affected.
PostgreSQL: Incorrect Privilege Assignment Vulnerability in SET ROLE and SET SESSION AUTHORIZATION
CVE-2024-10978
4.2 - Medium
- November 14, 2024
Incorrect privilege assignment in PostgreSQL allows a less-privileged application user to view or change different rows from those intended. An attack requires the application to use SET ROLE, SET SESSION AUTHORIZATION, or an equivalent feature. The problem arises when an application query uses parameters from the attacker or conveys query results to the attacker. If that query reacts to current_setting('role') or the current user ID, it may modify or return data as though the session had not used SET ROLE or SET SESSION AUTHORIZATION. The attacker does not control which incorrect user ID applies. Query text from less-privileged sources is not a concern here, because SET ROLE and SET SESSION AUTHORIZATION are not sandboxes for unvetted queries. Versions before PostgreSQL 17.1, 16.5, 15.9, 14.14, 13.17, and 12.21 are affected.
Incorrect Privilege Assignment
PostgreSQL libpq Client-Side Injection via Server Error Messages
CVE-2024-10977
3.1 - Low
- November 14, 2024
Client use of server error message in PostgreSQL allows a server not trusted under current SSL or GSS settings to furnish arbitrary non-NUL bytes to the libpq application. For example, a man-in-the-middle attacker could send a long error message that a human or screen-scraper user of psql mistakes for valid query results. This is probably not a concern for clients where the user interface unambiguously indicates the boundary between one error message and other text. Versions before PostgreSQL 17.1, 16.5, 15.9, 14.14, 13.17, and 12.21 are affected.
Use of Less Trusted Source
PostgreSQL Row Security Policy Misapplication Vulnerability
CVE-2024-10976
4.2 - Medium
- November 14, 2024
Incomplete tracking in PostgreSQL of tables with row security allows a reused query to view or change different rows from those intended. CVE-2023-2455 and CVE-2016-2193 fixed most interaction between row security and user ID changes. They missed cases where a subquery, WITH query, security invoker view, or SQL-language function references a table with a row-level security policy. This has the same consequences as the two earlier CVEs. That is to say, it leads to potentially incorrect policies being applied in cases where role-specific policies are used and a given query is planned under one role and then executed under other roles. This scenario can happen under security definer functions or when a common user and query is planned initially and then re-used across multiple SET ROLEs. Applying an incorrect policy may permit a user to complete otherwise-forbidden reads and modifications. This affects only databases that have used CREATE POLICY to define a row security policy. An attacker must tailor an attack to a particular application's pattern of query plan reuse, user ID changes, and role-specific row security policies. Versions before PostgreSQL 17.1, 16.5, 15.9, 14.14, 13.17, and 12.21 are affected.
Improper Preservation of Consistency Between Independent Representations of Shared State
PostgreSQL PL/Perl Environment Variable Control Vulnerability
CVE-2024-10979
8.8 - High
- November 14, 2024
Incorrect control of environment variables in PostgreSQL PL/Perl allows an unprivileged database user to change sensitive process environment variables (e.g. PATH). That often suffices to enable arbitrary code execution, even if the attacker lacks a database server operating system user. Versions before PostgreSQL 17.1, 16.5, 15.9, 14.14, 13.17, and 12.21 are affected.
External Control of System or Configuration Setting
TOCTOU in pg_dump (PostgreSQL <=16.4/15.8/14.13/13.16/12.20) allows arbitrary function exec
CVE-2024-7348
7.5 - High
- August 08, 2024
Time-of-check Time-of-use (TOCTOU) race condition in pg_dump in PostgreSQL allows an object creator to execute arbitrary SQL functions as the user running pg_dump, which is often a superuser. The attack involves replacing another relation type with a view or foreign table. The attack requires waiting for pg_dump to start, but winning the race condition is trivial if the attacker retains an open transaction. Versions before PostgreSQL 16.4, 15.8, 14.13, 13.16, and 12.20 are affected.
TOCTTOU
PostgreSQL 1416: AuthBreach in pg_stats_ext Views vulns 14.12/15.7/16.3
CVE-2024-4317
4.3 - Medium
- May 14, 2024
Missing authorization in PostgreSQL built-in views pg_stats_ext and pg_stats_ext_exprs allows an unprivileged database user to read most common values and other statistics from CREATE STATISTICS commands of other users. The most common values may reveal column values the eavesdropper could not otherwise read or results of functions they cannot execute. Installing an unaffected version only fixes fresh PostgreSQL installations, namely those that are created with the initdb utility after installing that version. Current PostgreSQL installations will remain vulnerable until they follow the instructions in the release notes. Within major versions 14-16, minor versions before PostgreSQL 16.3, 15.7, and 14.12 are affected. Versions before PostgreSQL 14 are unaffected.
AuthZ
libpq OOB Read Local Info Disclosure (CVE-2024-20038)
CVE-2024-20038
- March 04, 2024
In pq, there is a possible out of bounds read due to an incorrect bounds check. This could lead to local information disclosure with System execution privileges needed. User interaction is not needed for exploitation. Patch ID: ALPS08495932; Issue ID: ALPS08495932.
Supabase Dash SQLi via /pg_meta/default/query in PostgreSQL v15.1
CVE-2024-24213
9.8 - Critical
- February 08, 2024
Supabase PostgreSQL v15.1 was discovered to contain a SQL injection vulnerability via the component /pg_meta/default/query. NOTE: the vendor's position is that this is an intended feature; also, it exists in the Supabase dashboard product, not the Supabase PostgreSQL product. Specifically, /pg_meta/default/query is for SQL queries that are entered in an intended UI by an authorized user. Nothing is injected.
SQL Injection
PostgreSQL Privilege Escalation in REFRESH MV CONCURRENTLY, before 16.2
CVE-2024-0985
8 - High
- February 08, 2024
Late privilege drop in REFRESH MATERIALIZED VIEW CONCURRENTLY in PostgreSQL allows an object creator to execute arbitrary SQL functions as the command issuer. The command intends to run SQL functions as the owner of the materialized view, enabling safe refresh of untrusted materialized views. The victim is a superuser or member of one of the attacker's roles. The attack requires luring the victim into running REFRESH MATERIALIZED VIEW CONCURRENTLY on the attacker's materialized view. Versions before PostgreSQL 16.2, 15.6, 14.11, 13.14, and 12.18 are affected.
PostgreSQL Mem Disclosure via Unknown-Type Aggregate Calls
CVE-2023-5868
4.3 - Medium
- December 10, 2023
A memory disclosure vulnerability was found in PostgreSQL that allows remote users to access sensitive information by exploiting certain aggregate function calls with 'unknown'-type arguments. Handling 'unknown'-type values from string literals without type designation can disclose bytes, potentially revealing notable and confidential information. This issue exists due to excessive data output in aggregate function calls, enabling remote users to read some portion of system memory.
Function Call With Incorrect Argument Type
PostgreSQL pg_cancel_backend Exploit Allowing DoS on Background Worker
CVE-2023-5870
2.2 - Low
- December 10, 2023
A flaw was found in PostgreSQL involving the pg_cancel_backend role that signals background workers, including the logical replication launcher, autovacuum workers, and the autovacuum launcher. Successful exploitation requires a non-core extension with a less-resilient background worker and would affect that specific background worker only. This issue may allow a remote high privileged user to launch a denial of service (DoS) attack.
Resource Exhaustion
PostgreSQL Array Integer Overflow Allows Authenticated Code Exec
CVE-2023-5869
8.8 - High
- December 10, 2023
A flaw was found in PostgreSQL that allows authenticated database users to execute arbitrary code through missing overflow checks during SQL array value modification. This issue exists due to an integer overflow during array modification where a remote user can trigger the overflow by providing specially crafted data. This enables the execution of arbitrary code on the target system, allowing users to write arbitrary bytes to memory and extensively read the server's memory.
Integer Overflow or Wraparound
PostgreSQL 12.2 DoS via SIGHUP signal
CVE-2020-21469
4.4 - Medium
- August 22, 2023
An issue was discovered in PostgreSQL 12.2 allows attackers to cause a denial of service via repeatedly sending SIGHUP signals. NOTE: this is disputed by the vendor because untrusted users cannot send SIGHUP signals; they can only be sent by a PostgreSQL superuser, a user with pg_reload_conf access, or a user with sufficient privileges at the OS level (the postgres account or the root account).
Classic Buffer Overflow
PostgreSQL MERGE bypasses RLS UPDATE/SELECT checks, allows unauthorized inserts
CVE-2023-39418
3.1 - Low
- August 11, 2023
A vulnerability was found in PostgreSQL with the use of the MERGE command, which fails to test new rows against row security policies defined for UPDATE and SELECT. If UPDATE and SELECT policies forbid some rows that INSERT policies do not forbid, a user could store such rows.
Insufficient Granularity of Access Control
PostgreSQL Extension Script SQLi via @extowner@ @extschema@
CVE-2023-39417
7.5 - High
- August 11, 2023
IN THE EXTENSION SCRIPT, a SQL Injection vulnerability was found in PostgreSQL if it uses @extowner@, @extschema@, or @extschema:...@ inside a quoting construct (dollar quoting, '', or ""). If an administrator has installed files of a vulnerable, trusted, non-bundled extension, an attacker with database-level CREATE privilege can execute arbitrary code as the bootstrap superuser.
SQL Injection
PostgreSQL RLS Policy Ignores UID Changes After Inlining
CVE-2023-2455
5.4 - Medium
- June 09, 2023
Row security policies disregard user ID changes after inlining; PostgreSQL could permit incorrect policies to be applied in certain cases where role-specific policies are used and a given query is planned under one role and then executed under other roles. This scenario can happen under security definer functions or when a common user and query is planned initially and then re-used across multiple SET ROLEs. Applying an incorrect policy may permit a user to complete otherwise-forbidden reads and modifications. This affects only databases that have used CREATE POLICY to define a row security policy.
PostgreSQL schema_element Elevation Vulnerability (CVE-2023-2454)
CVE-2023-2454
7.2 - High
- June 09, 2023
schema_element defeats protective search_path changes; It was found that certain database calls in PostgreSQL could permit an authed attacker with elevated database-level privileges to execute arbitrary code.
PostgreSQL Unauth Kerberos String Under-Read in libpq
CVE-2022-41862
3.7 - Low
- March 03, 2023
In PostgreSQL, a modified, unauthenticated server can send an unterminated string during the establishment of Kerberos transport encryption. In certain conditions a server can cause a libpq client to over-read and report an error message containing uninitialized bytes.
PostgreSQL Privilege Escalation via Post-Operation Incomplete Privilege Checks
CVE-2022-1552
8.8 - High
- August 31, 2022
A flaw was found in PostgreSQL. There is an issue with incomplete efforts to operate safely when a privileged user is maintaining another user's objects. The Autovacuum, REINDEX, CREATE INDEX, REFRESH MATERIALIZED VIEW, CLUSTER, and pg_amcheck commands activated relevant protections too late or not at all during the process. This flaw allows an attacker with permission to create non-temporary objects in at least one schema to execute arbitrary SQL functions under a superuser identity.
SQL Injection
Odyssey: MITM can inject unencrypted results while using SSL cert verification
CVE-2021-43767
5.9 - Medium
- August 25, 2022
Odyssey passes to client unencrypted bytes from man-in-the-middle When Odyssey storage is configured to use the PostgreSQL server using 'trust' authentication with a 'clientcert' requirement or to use 'cert' authentication, a man-in-the-middle attacker can inject false responses to the client's first few queries. Despite the use of SSL certificate verification and encryption, Odyssey will pass these results to client as if they originated from valid server. This is similar to CVE-2021-23222 for PostgreSQL.
Improper Certificate Validation
Odyssey SSL Bypass Enables MANINTHEMIDDLE SQL Injection
CVE-2021-43766
8.1 - High
- August 25, 2022
Odyssey passes to server unencrypted bytes from man-in-the-middle When Odyssey is configured to use certificate Common Name for client authentication, a man-in-the-middle attacker can inject arbitrary SQL queries when a connection is first established, despite the use of SSL certificate verification and encryption. This is similar to CVE-2021-23214 for PostgreSQL.
Improper Certificate Validation
PostgreSQL Extension CREATE OR REPLACE RCE via Permissions Escalation
CVE-2022-2625
8 - High
- August 18, 2022
A vulnerability was found in PostgreSQL. This attack requires permission to create non-temporary objects in at least one schema, the ability to lure or wait for an administrator to create or update an affected extension in that schema, and the ability to lure or wait for a victim to use the object targeted in CREATE OR REPLACE or CREATE IF NOT EXISTS. Given all three prerequisites, this flaw allows an attacker to run arbitrary code as the victim role, which may be a superuser.
Prototype Pollution
When the server is configured to use trust authentication with a clientcert requirement or to use cert authentication, a man-in-the-middle attacker
CVE-2021-23214
8.1 - High
- March 04, 2022
When the server is configured to use trust authentication with a clientcert requirement or to use cert authentication, a man-in-the-middle attacker can inject arbitrary SQL queries when a connection is first established, despite the use of SSL certificate verification and encryption.
SQL Injection
A man-in-the-middle attacker
CVE-2021-23222
5.9 - Medium
- March 02, 2022
A man-in-the-middle attacker can inject false responses to the client's first few queries, despite the use of SSL certificate verification and encryption.
Insufficiently Protected Credentials
A flaw was found in postgresql
CVE-2021-3677
6.5 - Medium
- March 02, 2022
A flaw was found in postgresql. A purpose-crafted query can read arbitrary bytes of server memory. In the default configuration, any authenticated database user can complete this attack at will. The attack does not require the ability to create objects. If server settings include max_worker_processes=0, the known versions of this attack are infeasible. However, undiscovered variants of the attack may be independent of that setting.
Information Disclosure
A flaw was found in postgresql
CVE-2021-32028
6.5 - Medium
- October 11, 2021
A flaw was found in postgresql. Using an INSERT ... ON CONFLICT ... DO UPDATE command on a purpose-crafted table, an authenticated database user could read arbitrary bytes of server memory. The highest threat from this vulnerability is to data confidentiality.
A flaw was found in postgresql
CVE-2021-32029
6.5 - Medium
- October 08, 2021
A flaw was found in postgresql. Using an UPDATE ... RETURNING command on a purpose-crafted table, an authenticated database user could read arbitrary bytes of server memory. The highest threat from this vulnerability is to data confidentiality.
Out-of-bounds Read
A flaw was found in postgresql in versions before 13.3, before 12.7, before 11.12, before 10.17 and before 9.6.22
CVE-2021-32027
8.8 - High
- June 01, 2021
A flaw was found in postgresql in versions before 13.3, before 12.7, before 11.12, before 10.17 and before 9.6.22. While modifying certain SQL array values, missing bounds checks let authenticated database users write arbitrary bytes to a wide area of server memory. The highest threat from this vulnerability is to data confidentiality and integrity as well as system availability.
Buffer Overflow
An information leak was discovered in postgresql in versions before 13.2, before 12.6 and before 11.11
CVE-2021-3393
4.3 - Medium
- April 01, 2021
An information leak was discovered in postgresql in versions before 13.2, before 12.6 and before 11.11. A user having UPDATE permission but not SELECT permission to a particular column could craft queries which, under some circumstances, might disclose values from that column in error messages. An attacker could use this flaw to obtain information stored in a column they are allowed to write but not read.
Generation of Error Message Containing Sensitive Information
An information leak was discovered in postgresql in versions before 13.2, before 12.6 and before 11.11
CVE-2021-3393
4.3 - Medium
- April 01, 2021
An information leak was discovered in postgresql in versions before 13.2, before 12.6 and before 11.11. A user having UPDATE permission but not SELECT permission to a particular column could craft queries which, under some circumstances, might disclose values from that column in error messages. An attacker could use this flaw to obtain information stored in a column they are allowed to write but not read.
Generation of Error Message Containing Sensitive Information
An information leak was discovered in postgresql in versions before 13.2, before 12.6 and before 11.11
CVE-2021-3393
4.3 - Medium
- April 01, 2021
An information leak was discovered in postgresql in versions before 13.2, before 12.6 and before 11.11. A user having UPDATE permission but not SELECT permission to a particular column could craft queries which, under some circumstances, might disclose values from that column in error messages. An attacker could use this flaw to obtain information stored in a column they are allowed to write but not read.
Generation of Error Message Containing Sensitive Information
A flaw was found in PostgreSQL in versions before 13.2
CVE-2021-20229
- February 23, 2021
A flaw was found in PostgreSQL in versions before 13.2. This flaw allows a user with SELECT privilege on one column to craft a special query that returns all columns of the table. The highest threat from this vulnerability is to confidentiality.
AuthZ
A flaw was found in the psql interactive terminal of PostgreSQL in versions before 13.1
CVE-2020-25696
7.5 - High
- November 23, 2020
A flaw was found in the psql interactive terminal of PostgreSQL in versions before 13.1, before 12.5, before 11.10, before 10.15, before 9.6.20 and before 9.5.24. If an interactive psql session uses \gset when querying a compromised server, the attacker can execute arbitrary code as the operating system account running psql. The highest threat from this vulnerability is to data confidentiality and integrity as well as system availability.
Incorrect Comparison
A flaw was found in PostgreSQL versions before 13.1, before 12.5, before 11.10, before 10.15, before 9.6.20 and before 9.5.24
CVE-2020-25695
8.8 - High
- November 16, 2020
A flaw was found in PostgreSQL versions before 13.1, before 12.5, before 11.10, before 10.15, before 9.6.20 and before 9.5.24. An attacker having permission to create non-temporary objects in at least one schema can execute arbitrary SQL functions under the identity of a superuser. The highest threat from this vulnerability is to data confidentiality and integrity as well as system availability.
SQL Injection
A flaw was found in PostgreSQL versions before 13.1, before 12.5, before 11.10, before 10.15, before 9.6.20 and before 9.5.24
CVE-2020-25694
8.1 - High
- November 16, 2020
A flaw was found in PostgreSQL versions before 13.1, before 12.5, before 11.10, before 10.15, before 9.6.20 and before 9.5.24. If a client application that creates additional database connections only reuses the basic connection parameters while dropping security-relevant parameters, an opportunity for a man-in-the-middle attack, or the ability to observe clear-text transmissions, could exist. The highest threat from this vulnerability is to data confidentiality and integrity as well as system availability.
Use of a Broken or Risky Cryptographic Algorithm
The Windows installer for PostgreSQL 9.5 - 12 invokes system-provided executables that do not have fully-qualified paths
CVE-2020-10733
- September 16, 2020
The Windows installer for PostgreSQL 9.5 - 12 invokes system-provided executables that do not have fully-qualified paths. Executables in the directory where the installer loads or the current working directory take precedence over the intended executables. An attacker having permission to add files into one of those directories can use this to execute arbitrary code with the installer's administrative rights.
Untrusted Path
It was found that some PostgreSQL extensions did not use search_path safely in their installation script
CVE-2020-14350
7.3 - High
- August 24, 2020
It was found that some PostgreSQL extensions did not use search_path safely in their installation script. An attacker with sufficient privileges could use this flaw to trick an administrator into executing a specially crafted script, during the installation or update of such extension. This affects PostgreSQL versions before 12.4, before 11.9, before 10.14, before 9.6.19, and before 9.5.23.
Untrusted Path
Stay on top of Security Vulnerabilities
Want an email whenever new vulnerabilities are published for PostgreSQL or by PostgreSQL? Click the Watch button to subscribe.