CVE-2026-116303 PUBLISHED

PostgreSQL foreign key and JSON conversions bypass EXECUTE privilege on cast functions

Assigner: PostgreSQL
Reserved: 26.10.2026 Published: 12.11.2026 Updated: 12.11.2026

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, to_json(), 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.

Metrics

CVSS Vector: CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:N
CVSS Score: 3.1

Product Status

Vendor n/a
Product PostgreSQL
Versions Default: unaffected
  • affected from 18 to 18.7 (excl.)
  • affected from 17 to 17.12 (excl.)
  • affected from 16 to 16.16 (excl.)
  • affected from 15 to 15.20 (excl.)
  • affected from 0 to 14.25 (excl.)

Affected Configurations

a cast function has revoked public access (no examples known), and calling it has confidentiality impact (independently, no examples known)

Credits

  • The PostgreSQL project thanks Filip Janus and Anthropic OSS program for reporting this problem.

References

Problem Types

  • Missing Authorization CWE