CVE-2026-116303: PostgreSQL foreign key and JSON conversions bypass EXECUTE privilege on cast functions

Published Nov 12, 2026
·
Updated

Missing authorization in PostgreSQL type conversion allows a database user to invoke a cast function despite lacking EXECUTE privilege on that function, via foreign keys, tojson(), and others. A successful attack requires the attacker to search each database for access-restricted cast functions and identify confidentiality impact specific to each function implementation found. There are few or no practical examples of an access-restricted cast function or of a cast function having confidentiality impact. Versions before PostgreSQL 18.7, 17.12, 16.16, 15.20, and 14.25 are affected.

Affected Software

6 affected components
debian/postgresql-15*
debian/postgresql-17*
debian/postgresql-18*
debian/postgresql-15<=15.18-0+deb12u1, <=15.19-0+deb12u1
debian/postgresql-17<=17.11-0+deb13u1
debian/postgresql-18<=18.6-3

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade PostgreSQL to a version that resolves this vulnerability.

    Fixed in 18.7
  2. Upgrade

    Upgrade PostgreSQL to a version that resolves this vulnerability.

    Fixed in 17.12
  3. Upgrade

    Upgrade PostgreSQL to a version that resolves this vulnerability.

    Fixed in 16.16
  4. Upgrade

    Upgrade PostgreSQL to a version that resolves this vulnerability.

    Fixed in 15.20
  5. Upgrade

    Upgrade PostgreSQL to a version that resolves this vulnerability.

    Fixed in 14.25

Event History

Nov 12, 2026
CVE Published
via MITRE·02:15 PM
Data Sourced
via MITRE·02:15 PM
DescriptionSeverityWeakness
Data Sourced
via NVD·03:17 PM
DescriptionSeverityWeakness
Data Sourced
via OSV·03:17 PM
DescriptionSeverityAffected Software

Frequently Asked Questions

1

Which PostgreSQL installations are affected?

PostgreSQL versions before 18.7, 17.12, 16.16, 15.20, and 14.25 are affected.

2

What access does an attacker need to exploit this issue?

The attacker must already be a database user with low privileges. They must identify an access-restricted cast function in a database and a confidentiality impact specific to that function's implementation.

3

Are default deployments likely to be exposed?

Practical exposure appears limited: there are few or no known practical examples of access-restricted cast functions or cast functions with confidentiality impact. Exposure depends on custom or otherwise restricted cast functions present in each database.

4

How can I assess whether a database is at risk?

Review each database for cast functions that restrict EXECUTE access, then determine whether invoking those functions could disclose confidential information. The affected invocation paths include foreign keys and JSON conversion functions such as to_json().

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203