CVE-2026-14680·PostgreSQL vulnerability
Type confusion with PostgreSQL "internal" data type arguments allows any user to execute arbitrary code as the operating system user running the database, via calls to functions with that argument type. Type "internal" represents a class of mutually-incompatible data structures not intended for access from SQL. The system intended to prevent such function calls, but this prevention had gaps. Versions before PostgreSQL 18.6, 17.11, 16.15, 15.19, and 14.24 are affected.
- Severity
- high
- Software
- PostgreSQL
- Fixed in
- 18.5
- Published
How likely is exploitation
FIRST's Exploit Prediction Scoring System puts the probability of this CVE being exploited in the next 30 days at 0.42% — higher than 35% of all published CVEs. EPSS is an independent forecast of exploitation, not a severity rating: it says nothing about how much damage a successful attack does, which is what a CVSS score measures.
Read the two together. CVE-2026-14680 scores 8.8 on CVSS, so a successful attack would be serious — but at 0.42%, almost nobody is currently attempting it. That is a different situation from a flaw under mass exploitation, and it is usually the difference between patching on your next maintenance window and patching tonight.
Affected versions
From: 18.0
Until: 18.5
Fixed in: 18.5
How to fix this CVE
Upgrade PostgreSQL to version 18.6 or later to close a type confusion vulnerability that allows authenticated users to bypass security restrictions and execute arbitrary code with database process privileges. This is a critical security update that should be applied immediately to all affected PostgreSQL instances. Test the upgrade in a non-production environment first to ensure compatibility with your applications.
sudo dnf update postgresql-server postgresql-libs postgresql-contribDefensia detects this vulnerability
How to check if you are affected
- Run `psql --version` or `sudo -u postgres psql --version` to identify the current PostgreSQL version installed on your system
- Verify if untrusted users have database access by querying `SELECT usename, usesuper, usecreatedb FROM pg_user;` to identify accounts that could invoke vulnerable functions
- Search PostgreSQL logs (typically in `/var/log/postgresql/`) for error messages containing 'internal' type references, function call failures, or segmentation faults: `grep -i 'internal\|segfault' /var/log/postgresql/*.log`
- After patching, confirm the upgrade with `psql --version` and restart the PostgreSQL service with `sudo systemctl restart postgresql` to apply the fix
FAQ
What is CVE-2026-14680?
This vulnerability exploits a type confusion flaw in PostgreSQL's handling of the 'internal' data type, which is an internal-only type that should never be accessible from SQL. Authenticated attackers can craft function calls that bypass safety checks, allowing them to execute arbitrary code with the privileges of the PostgreSQL system user.
Is CVE-2026-14680 being actively exploited?
No, this vulnerability is not currently listed in CISA's Known Exploited Vulnerabilities (KEV) catalog, and no public exploits are available. However, the high CVSS score (8.8) and the fact that it requires authentication mean organizations should prioritize patching to prevent future exploitation.
What versions of PostgreSQL are affected by CVE-2026-14680?
PostgreSQL versions 14.0 through 18.5 are vulnerable. The fix is available in PostgreSQL 18.6, 17.11, 16.15, 15.19, and 14.24 or later in each respective branch.
How do I check if my server is vulnerable to CVE-2026-14680?
Run `psql --version` to determine your PostgreSQL version. If it is between 14.0 and 18.5 (inclusive), your system is vulnerable and requires an immediate update.
Does Defensia detect CVE-2026-14680?
Yes — Defensia's CVE advisory scanner compares installed package versions against the NVD database. If PostgreSQL is installed on a monitored server, CVE-2026-14680 will appear in your dashboard with remediation steps.
Related PostgreSQL CVEs
References
Track CVEs across your fleet automatically
Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2026-14680. Free for 1 server.
Get started free