PostgreSQL security fix timeline
Public commits from postgres/postgres whose messages cite a vulnerability or a security fix. Patch text is not stored.
58 security-fix timeline events
Sep 11, 2026 · CVE-2026-6464
Revert "Support more object types within CREATE SCHEMA".
Revert "Support more object types within CREATE SCHEMA". This reverts commit d516974840f4059d331ae6057ede3e4edd3c6747, along with parts of commit 049b742daad0965be4a846035408ae27ce1f9e14 ("psql: Tighten heuristics for BEGIN/END within CREATE SCHEMA"). While there's nothing par…
Aug 10, 2026 · CVE-2026-6470
Check for USAGE privilege on the composite type in ALTER TABLE OF.
Check for USAGE privilege on the composite type in ALTER TABLE OF. This omission allowed roles without USAGE on a type to create tables that depend on it, which could prevent the owner from changing the type later. Reported-by: Nathan Bossart <nathandbossart@gmail.com> Author:…
Aug 10, 2026 · CVE-2026-6464
Save/restore more lexer state when skipping text due to \if.
Save/restore more lexer state when skipping text due to \if. When we implemented \if ... \endif in psql, we arranged to save/restore the lexer's parenthesis depth counter across any chunk of input that we're ignoring. At the time, that was sufficient, because no other part of…
Aug 10, 2026 · CVE-2026-18408
psql: Don't do backquote expansion in \unrestrict.
psql: Don't do backquote expansion in \unrestrict. This oversight in commit 71ea0d6795 allows a malicious server to inject shell commands into plain-text dump output that are run at restore time on the machine running psql. To fix, interpret all text after \unrestrict until th…
Aug 10, 2026 · CVE-2026-14666
Invalidate plan cache after role changes.
Invalidate plan cache after role changes. Role membership, role attribute, and database ownership changes may impact the expected behavior of row-level security policies, but currently the plan cache doesn't take notice. To fix, register syscache callbacks on pg_auth_members,…
Aug 10, 2026 · CVE-2026-18024
Fix out-of-bound reads with ascii() for invalid multibyte characters
Fix out-of-bound reads with ascii() for invalid multibyte characters This commit addresses two defects in this SQL function, the code assuming that: - The user-supplied string was long enough to contain a character of the length implied by the first byte. It is possible to pro…
Aug 10, 2026 · CVE-2026-14663
Fix errorhandling for PGP encryption
Fix errorhandling for PGP encryption PGP encryption was using px_cipher_encrypt without checking if any error was returned. When OpenSSL is running in FIPS mode, or when the legacy provider hasn't been loaded, not all ciphers which are supported by the PGP code are available a…
Aug 10, 2026 · CVE-2026-6470
Check for USAGE privilege on types used by stored expressions.
Check for USAGE privilege on types used by stored expressions. This omission allowed roles without USAGE on a type to create stored expressions that depend on it, which could prevent the owner from changing the type later. The checks deliberately live in the command paths rath…
Aug 10, 2026 · CVE-2026-14663
pgcrypto: Add option to revert to prior decryption behavior
pgcrypto: Add option to revert to prior decryption behavior The previous commit raises an ERROR during PGP operations if OpenSSL does not support the cipher in use. However, any existing messages created with faulty encryption will no longer be accessible via pgp_[sym|pub]_decr…
Aug 10, 2026 · CVE-2026-6464
Teach psql to skip in-line COPY ... FROM STDIN data after a failure.
Teach psql to skip in-line COPY ... FROM STDIN data after a failure. If the COPY command fails before sending PGRES_COPY_IN, psql did not realize that it ought to consume any in-line data following the command. Failing to do so leads to trying to execute that data as SQL comma…