CVE-2026-116303
Received Received - Intake

Missing Authorization in PostgreSQL Type Conversion

Vulnerability report for CVE-2026-116303, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-11-12

Last updated on: 2026-11-12

Assigner: PostgreSQL

Description

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.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-11-12
Last Modified
2026-11-12
Generated
2026-11-12
AI Q&A
2026-11-12
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
postgresql postgresql to 14.25 (exc)

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-862 The product does not perform an authorization check when an actor attempts to access a resource or perform an action.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability is a missing authorization check in PostgreSQL's type conversion process. It allows a database user to run a cast function without having the required EXECUTE privilege. The issue can be triggered through foreign keys, to_json(), and other functions. An attacker must find restricted cast functions and assess their confidentiality impact, though such functions are rare.

Detection Guidance

Detecting this vulnerability requires checking PostgreSQL versions and reviewing cast function privileges. Use 'SELECT version();' to check your PostgreSQL version. If it is below 18.7, 17.12, 16.16, 15.20, or 14.25, the system is vulnerable. To identify cast functions without EXECUTE privileges, query 'SELECT n.nspname, p.proname FROM pg_proc p JOIN pg_namespace n ON p.pronamespace = n.oid WHERE p.proacl IS NULL OR NOT EXISTS (SELECT 1 FROM pg_has_role(p.proowner, p.proacl, 'USAGE'));'

Impact Analysis

The impact is limited due to the rarity of access-restricted cast functions. If exploited, it could allow unauthorized access to sensitive data by invoking functions without proper permissions. The low CVSS score (3.1) suggests minimal practical risk in most environments.

Mitigation Strategies

Upgrade PostgreSQL to a patched version (18.7 or later, 17.12 or later, 16.16 or later, 15.20 or later, 14.25 or later). If upgrading is not immediately possible, restrict database user privileges to prevent unauthorized access to cast functions. Regularly audit function privileges and apply security patches promptly.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-116303. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart

Security Radar

News mentioning this vulnerability
Loading related security news...