PostgreSQL is widely deployed; this RCE (OS-level) vulnerability can disrupt many organizations and merits broad IT/DBA notice.
CVE-2026-14670
Heap overflow in PostgreSQL plperl can lead to OS-level code execution.
WAF coverage: Heap-based buffer overflow.
Also consider: patch
Is CVE-2026-14670 being exploited?
Not confirmed. CVE-2026-14670 does not appear in CISA's Known Exploited Vulnerabilities catalog, which records only exploitation that has been observed and reported publicly. That is evidence of absence of a report, not evidence the flaw is unattacked. EPSS currently estimates a 0.44% probability of exploitation in the next 30 days.
How severe is CVE-2026-14670?
CVE-2026-14670 is rated High with a CVSS score of 8.8. Severity describes how bad exploitation would be, not how likely it is: pair it with exploitation evidence before deciding what to patch first.
Is there a patch for CVE-2026-14670?
Yes. A fix has been recorded for CVE-2026-14670. The vendor advisory is the authority on the exact fixed version — apply it from there rather than from a summary.
What does CVE-2026-14670 affect?
CVE-2026-14670 affects PostgreSQL < 18.5, PostgreSQL < 17.11, PostgreSQL < 16.15, PostgreSQL < 15.19, and 2 further products or versions. Confirm the exact affected versions against the vendor advisory before deciding you are exposed.
What should I do about CVE-2026-14670?
Apply vendor updates immediately; disable plperl or restrict function creation until patched.
Exploitation status reflects CISA's KEV catalog as we last synced it. Check the catalog directly.
Authenticated DB function owner can trigger heap overflow in plperl to execute arbitrary OS commands as the DB service user (RCE).
Immediate action required
- affected>= 18 and < 18.6
- affected>= 17 and < 17.11
- affected>= 16 and < 16.15
- affected>= 15 and < 15.19
- affected< 14.24
As published in the CVE Program record. A version outside these ranges is not a statement that it is unaffected — vendors sometimes understate a range, and distribution-backported builds carry upstream numbers that do not reflect what was patched into them.