CVE-2026-16239

PostgreSQL type confusion in cursor CLOSE + DECLARE executes arbitrary code

Type confusion in PostgreSQL "portal"/cursor lifecycle allows a user to execute arbitrary code as the operating system user running the database, via re-creation of a cursor or other portal with different types. Versions before PostgreSQL 18.5, 17.11, 16.15, 15.19, and 14.24 are affected.

Version Information

Affected Version Fixed In Fix Published
18 18.5 2026-08-13
17 17.11 2026-08-13
16 16.15 2026-08-13
15 15.19 2026-08-13
14 14.24 2026-08-13

For more information about PostgreSQL versioning, please visit the versioning page.

CVSS 3.0

Overall Score 8.8
Component core server
Vector AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Reporting Security Vulnerabilities

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.