CyberSecBulletin

PostgreSQL vulnerabilities

We track 92 vulnerabilities in PostgreSQL products across 5 products. 92 are rated high or critical, and none are known to be exploited. The most recent was published on November 12, 2026.

92vulnerabilities
5critical
87high
0exploited
8.5average CVSS score

Latest PostgreSQL vulnerabilities

  • 7.2 High severity

    PostgreSQL: Uncontrolled Search Path Element

    CVE-2026-6467PostgreSQL

    Uncontrolled search path element in PostgreSQL CREATE EXTENSION allows an attacker with database-level CREATE privilege to execute arbitrary code as the bootstrap superuser, via ALTER SCHEMA ... RENAME or CREATE EXTENSION ... SCHEMA "$user". ALTER EXTENSION wa

  • 8.8 High severity

    PostgreSQL: Access of Resource Using Incompatible Type

    CVE-2026-6460PostgreSQL

    Type confusion in PostgreSQL allows an object creator to execute arbitrary code as the operating system user running the database, via ALTER ... SET DATA TYPE primarily. Other DDL attack routes exist, such as "ALTER TABLE ... ADD COLUMN; ROLLBACK; ALTER TABLE

  • 8.8 High severity

    PostgreSQL: Access of Resource Using Incompatible Type

    CVE-2026-18447PostgreSQL

    Type confusion in PostgreSQL SQL-language functions allows an object creator to execute arbitrary code as the operating system user running the database, via an output parameter of type "any". Versions before PostgreSQL 18.7, 17.12, 16.16, 15.20, and 14.25 are

  • 8.1 High severity

    PostgreSQL: External Control of File Name or Path

    CVE-2026-14661PostgreSQL

    External control of file name in PostgreSQL dblink and CREATE/ALTER SUBSCRIPTION allows a user to achieve persistent denial of service, via appending invalid data to a chosen file. Specifically, the "sslkeylogfile" connection parameter appends data, in NSS key

  • 7.2 High severity

    PostgreSQL: Improper Neutralization of Special Elements used in an SQL Command

    CVE-2026-120153PostgreSQL

    SQL injection in PostgreSQL extension-script substitutions allows an attacker with database-level CREATE privilege to execute arbitrary code as the bootstrap superuser, via a schema or owner name containing newlines or other special substrings. This is similar

  • 8.8 High severity

    PostgreSQL: Access of Resource Using Incompatible Type

    CVE-2026-120151PostgreSQL

    Type confusion in PostgreSQL plpgsql record-field assignment allows an object creator to execute arbitrary code as the operating system user running the database, via a reentrant domain CHECK that changes a RECORD variable's row type while a value is being cas

  • 8.8 High severity

    PostgreSQL: Use After Free

    CVE-2026-120150PostgreSQL

    Use after free in PostgreSQL expanded-record domain checks allows an object creator to execute arbitrary code as the operating system user running the database, via repeated checks of a domain over a composite type that cause reuse of a dangling memory-context

  • 8.8 High severity

    PostgreSQL: Heap-based Buffer Overflow

    CVE-2026-120149PostgreSQL

    Heap-based buffer overflow in PostgreSQL foreign batch inserts allows a foreign server to execute arbitrary code, via reporting that it inserted more rows than the server supplied. postgres_fdw can legitimately encounter this when a rule on the remote table ex

  • 8.1 High severity

    PostgreSQL: Access of Resource Using Incompatible Type

    CVE-2026-120148PostgreSQL

    Type confusion in PostgreSQL extended statistics allows an object creator to execute arbitrary code as the operating system user running the database, via a statistics expression of an anonymous RECORD type whose backend-local type identifier denotes a differe

  • 8.8 High severity

    PostgreSQL: Use After Free

    CVE-2026-120147PostgreSQL

    Use after free in the PostgreSQL dblink extension allows an object creator to execute arbitrary code as the operating system user running the database, via type conversion code that re-enters dblink and closes a connection whose results an outer dblink call is

  • 8.8 High severity

    PostgreSQL: Missing Authorization

    CVE-2026-120145PostgreSQL

    Missing authorization in PostgreSQL logical replication allows a compromised publisher to execute arbitrary code as the operating system user running the superuser-owned subscription, via naming a system catalog as a replication target. Only subscriptions owne

  • 8.8 High severity

    PostgreSQL: Access of Resource Using Incompatible Type

    CVE-2026-120144PostgreSQL

    Type confusion from incomplete PostgreSQL type-cache invalidation allows an object creator to execute arbitrary code as the operating system user running the database, via a composite type change while its cache entry is being populated. Within major version 1

  • 8.8 High severity

    PostgreSQL: Use After Free

    CVE-2026-120143PostgreSQL

    Use after free in PostgreSQL trigger functions allows an object creator to execute arbitrary code as the operating system user running the database, via a cursor over a transition table. Versions before PostgreSQL 18.7, 17.12, 16.16, 15.20, and 14.25 are affec

  • 8.8 High severity

    PostgreSQL: Access of Resource Using Incompatible Type

    CVE-2026-120142PostgreSQL

    Type confusion in PostgreSQL anonymous RECORD types allows an object creator to execute arbitrary code as the operating system user running the database, via row types having dropped attributes in the same positions but with different widths or alignments. Wit

  • 8.8 High severity

    PostgreSQL: Access of Resource Using Incompatible Type

    CVE-2026-120141PostgreSQL

    Type confusion in PostgreSQL materialized set-returning functions allows a database user to execute arbitrary code as the operating system user running the database, via returning rows having different dynamic RECORD return types. json_populate_recordset() is

  • 8.8 High severity

    PostgreSQL: Integer Overflow or Wraparound

    CVE-2026-120139PostgreSQL

    Integer wraparound in PostgreSQL in-memory tuple-size calculations allows a database user to execute arbitrary code as the operating system user running the database, via oversized tuple data. Versions before PostgreSQL 18.7, 17.12, 16.16, 15.20, and 14.25 are

  • 8.8 High severity

    PostgreSQL: Operation on a Resource after Expiration or Release

    CVE-2026-116336PostgreSQL

    Operation on a dropped index in PostgreSQL REINDEX CONCURRENTLY allows an object creator to execute arbitrary code as the operating system user running the database, via an index expression that issues DROP INDEX. Versions before PostgreSQL 18.7, 17.12, 16.16,

  • 8.8 High severity

    PostgreSQL: Access of Resource Using Incompatible Type

    CVE-2026-116335PostgreSQL

    Type confusion in PostgreSQL operator commutator and negator links allows an object creator to execute arbitrary code as the operating system user running the database, via linking operators having different result types or creating inconsistent reciprocal lin

  • 8.8 High severity

    PostgreSQL: Use After Free

    CVE-2026-116332PostgreSQL

    Use after free in PostgreSQL portal setup allows an object creator to execute arbitrary code as the operating system user running the database, via running user-defined code during planning or executor startup that closes the portal currently being prepared. V

  • 8.8 High severity

    PostgreSQL: Access of Resource Using Incompatible Type

    CVE-2026-116331PostgreSQL

    Type confusion in PostgreSQL min/max aggregate optimization allows an object creator to execute arbitrary code as the operating system user running the database, via a user-defined aggregate whose SORTOP option causes the planner to treat the aggregate's input

  • 8.8 High severity

    PostgreSQL: Inclusion of Functionality from Untrusted Control Sphere

    CVE-2026-116330PostgreSQL

    Untrusted data inclusion in PostgreSQL pg_dump tar-format restore.sql allows a compromised origin server to execute arbitrary code as the client operating system account running psql, via the predictable restriction key in restore.sql. This is a gap in the fix

  • 8.8 High severity

    PostgreSQL: Access of Resource Using Incompatible Type

    CVE-2026-116329PostgreSQL

    Type confusion in PostgreSQL statistics import allows a table maintainer to execute arbitrary code as the operating system user running the database, via nested SET DATA TYPE during conversion of values to import. Within major version 18, minor versions before

  • 8.8 High severity

    PostgreSQL: Integer Overflow or Wraparound

    CVE-2026-116328PostgreSQL

    Integer wraparound in PostgreSQL generation memory contexts allows a database user to execute arbitrary code as the operating system user running the database, via freeing an allocation larger than 1 GB and causing its block to be reused for smaller chunks who

  • 8.8 High severity

    PostgreSQL: Operation on a Resource after Expiration or Release

    CVE-2026-116326PostgreSQL

    Uncaught exceptions in PostgreSQL plperl allow an object creator to cause use of a stale sigjmp_buf, via a tied Perl object, or a Perl object whose overloaded conversion throws while plperl is handling another error. We have not ruled out arbitrary code execut

  • 8.0 High severity

    PostgreSQL: Improper Neutralization of Special Elements used in an SQL Command

    CVE-2026-116325PostgreSQL

    SQL injection in PostgreSQL reindexdb allows an object creator to execute arbitrary SQL as the database user running reindexdb, via a crafted index name embedded in the parallel catalog query for --jobs with --index. Within major versions 17-18, minor versions

  • 8.8 High severity

    PostgreSQL: Use After Free

    CVE-2026-116323PostgreSQL

    Use after free in PostgreSQL pltcl allows an object creator to execute arbitrary code as the operating system user running the database, via a domain CHECK that re-enters the Tcl interpreter and frees or changes a string still used by the outer result conversi

  • 8.8 High severity

    PostgreSQL: Use After Free

    CVE-2026-116320PostgreSQL

    Use after free in PostgreSQL plperl allows an object creator to execute arbitrary code as the operating system user running the database, via dropping the final reference to a Perl array or hash while PostgreSQL is converting that object. Versions before Postg

  • 8.8 High severity

    PostgreSQL: Use After Free

    CVE-2026-116319PostgreSQL

    Use after free in PostgreSQL plperl allows an object creator to execute arbitrary code as the operating system user running the database, via reentrant return_next() calls. Versions before PostgreSQL 18.7, 17.12, 16.16, 15.20, and 14.25 are affected.

  • 8.8 High severity

    PostgreSQL: Improper Neutralization of Special Elements used in an SQL Command

    CVE-2026-116318PostgreSQL

    SQL injection in PostgreSQL pg_dump allows an object creator to execute arbitrary SQL as the user restoring the dump, via an inherited column having a child-local not-null constraint whose name requires quoting. Within major version 18, minor versions before P

  • 8.8 High severity

    PostgreSQL: Heap-based Buffer Overflow

    CVE-2026-116317PostgreSQL

    Heap-based buffer overflow in PostgreSQL ts_rank_cd() may allow a database user to execute arbitrary code as the operating system user running the database, via an invalid tsvector containing duplicate positions. Versions before PostgreSQL 18.7, 17.12, 16.16,

  • 8.8 High severity

    PostgreSQL: Improper Protection of Alternate Path

    CVE-2026-116316PostgreSQL

    Improper protection of alternate path in PostgreSQL security-restricted operations allows an object creator to execute arbitrary SQL as the operation's caller, via a domain, enum, or range type created in pg_temp. The victim session must later run a query cont

  • 8.8 High severity

    PostgreSQL: Heap-based Buffer Overflow

    CVE-2026-116315PostgreSQL

    Heap-based buffer overflow in PostgreSQL tsvector_delete() allows a database user to execute arbitrary code as the operating system user running the database, via a tsvector whose lexeme data uses a nonstandard but valid ordering that requires additional align

  • 8.8 High severity

    Improper input validation in PostgreSQL pg_restore allows a non-plain archive provider to…

    CVE-2026-116314PostgreSQL

    Improper input validation in PostgreSQL pg_restore allows a non-plain archive provider to execute arbitrary code as the operating system user running pg_restore, via a crafted archive. Note a contrast: crafted archive data may legitimately cause arbitrary SQL

  • 7.2 High severity

    PostgreSQL: Untrusted Search Path

    CVE-2026-116313PostgreSQL

    Untrusted search path in PostgreSQL vacuumdb allows a database owner to execute arbitrary SQL as the database user running vacuumdb, via shadowing operators used in the --missing-stats-only catalog query. The pg_upgrade documentation recommends an affected vac

  • 8.8 High severity

    PostgreSQL: Access of Resource Using Incompatible Type

    CVE-2026-116309PostgreSQL

    Type confusion in PostgreSQL plperl may allow an object creator to execute arbitrary code, via blessing a non-hash reference into PostgreSQL::InServer::ARRAY. We have not confirmed or ruled out a way to control the pointer sufficiently to achieve security impa

  • 8.8 High severity

    PostgreSQL: Use After Free

    CVE-2026-116307PostgreSQL

    Use after free in PostgreSQL plperl allows an object creator to execute arbitrary code as the operating system user running the database, via re-entering plperl and freeing a prepared query while an outer invocation is executing it. Versions before PostgreSQL

  • 8.8 High severity

    PostgreSQL: Access of Resource Using Incompatible Type

    CVE-2026-116306PostgreSQL

    Type confusion in PostgreSQL composite-value field assignment allows an object creator to execute arbitrary code as the operating system user running the database, via changing a composite type between deforming and reforming a value. Versions before PostgreSQ

  • 8.8 High severity

    PostgreSQL: Use After Free

    CVE-2026-116304PostgreSQL

    Use after free in PostgreSQL coordination of anonymous RECORD type identifiers among parallel workers allows a database user to execute arbitrary code as the operating system user running the database, via causing one process to free a shared tuple descriptor

  • 7.1 High severity

    psqlODBC: Improper Neutralization of Special Elements used in an SQL Command

    CVE-2026-120065PostgreSQL

    For an updatable cursor over a table without OIDs that has an auto-increment int4 column, psqlODBC uses that column to identify rows. It places the column's name, as reported by the server, between double quotes in its keyset queries and in the WHERE clause of

  • 7.5 High severity

    psqlODBC: Improper Validation of Array Index

    CVE-2026-120064PostgreSQL

    Several psqlODBC entry points use an application-supplied column number or row index as an array index without validating it. SQLBindCol with a column number above 32767 wraps the binding count negative and a later copy runs off the array. A negative SQL_DESC_