Skip to main content

PostgreSQL CVE-2026-14669

| EUVDEUVD-2026-57836 HIGH
Heap-based Buffer Overflow (CWE-122)
2026-08-13 f86ef6dc-4d3a-42ad-8f28-e6d5547a5007 GHSA-v5vg-62mg-4ccv
8.8
CVSS 3.1 · Vendor: f86ef6dc-4d3a-42ad-8f28-e6d5547a5007
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain valid PostgreSQL database credentials
  2. Delivery
    Connect to target database over network
  3. Exploit
    Issue SET timezone with oversized POSIX abbreviation
  4. Execution
    Call to_char(timestamptz) to trigger vulnerable code path
  5. Persist
    Heap overflow corrupts memory
  6. Impact
    Execute arbitrary code as postgres OS user

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Heap buffer bounds checking
MITRE ATT&CK

1 technique across 1 tactic: Execution

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

The attacker must hold a valid PostgreSQL database credential with at minimum CONNECT privilege to a database on the target instance - this is the primary gating condition. No special database role (superuser, schema owner) is required because SET timezone and to_char() are available to any authenticated session. The triggering input is a POSIX timezone abbreviation crafted to exceed the buffer length assumed by the to_char(timestamptz) implementation; no special database configuration or non-default setting is needed beyond the ability to issue standard SQL. Exploitation is limited by: (1) requirement for authenticated database access - unauthenticated network attackers cannot reach this code path; (2) the flaw is in a specific formatting function, meaning an attacker must be able to issue SQL (direct connection or via SQL injection into an application that calls to_char). Environments using strict network ACLs to limit who can reach the PostgreSQL port and strong credential hygiene substantially reduce realistic risk despite the low CVSS attack complexity.

Impact

The CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H) scores 8.8 and accurately reflects the threat model: network-reachable, low complexity, requiring only a low-privilege authenticated database session. Any user granted CONNECT privilege to a PostgreSQL instance - including application service accounts, read-only analysts, or ETL users - qualifies as a sufficient attacker. This is a meaningful real-world threat, not a theoretical high-CVSS-but-hard-to-exploit case, because the triggering primitive (SET timezone / to_char()) is part of standard SQL and requires no elevated database role. No EPSS score was provided in the input data, so exploitation probability cannot be quantified numerically. The vulnerability is not listed in the CISA KEV catalog at time of analysis, meaning active exploitation has not been officially confirmed. However, the straightforward trigger mechanism and the fact that fix versions have been released suggests the vulnerability is fully characterized and a functional exploit is plausible to develop. The primary limiting factor is that the attacker must hold a valid database credential, which substantially narrows the realistic threat surface compared to a pre-authentication flaw.

Exploit ScenarioDerived

An attacker with a valid low-privilege PostgreSQL database account (e.g., a compromised application service credential) connects to the database over the network, issues SET timezone to a crafted string containing an abnormally long POSIX timezone abbreviation, and then invokes to_char(now(), 'TZ') or similar to trigger the formatting code path. The heap overflow corrupts adjacent memory structures, enabling the attacker to redirect execution flow and run arbitrary OS-level commands as the postgres system account, gaining full read/write access to all database files and potentially pivoting to other services accessible from that host.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
1 public PoC Patch available 0.6% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Aug 13, 2026

Heap buffer overflow in PostgreSQL's to_char(timestamptz) function allows any authenticated database user to execute arbitrary code as the operating system account running the database process by supplying an excessively long POSIX timezone abbreviation. Affected versions span the actively maintained major release lines: PostgreSQL 14 through 18, with fixes available in 14.24, 15.19, 16.15, 17.11, and 18.5. No public exploit code has been identified at time of analysis, but the low attack complexity and broad deployment surface of PostgreSQL make this a high-priority patching target for any environment where untrusted or semi-trusted database users exist.

RemediationAI

The primary remediation is to upgrade to a patched release: PostgreSQL 14.24, 15.19, 16.15, 17.11, or 18.5 as appropriate for the installed major version. These are confirmed fix versions per the PostgreSQL project's official advisory at https://www.postgresql.org/support/security/CVE-2026-14669/. For environments where an immediate upgrade is not possible, a compensating control is to revoke the ability of untrusted users to set arbitrary timezone values: enforce a fixed timezone at the connection level via postgresql.conf (timezone = 'UTC') and use a connection pooler such as PgBouncer to prevent session-level SET commands from reaching the server. This trades session timezone flexibility for reduced attack surface. Additionally, restricting EXECUTE privilege on to_char() for low-trust roles is not straightforward (it is a built-in function), so the timezone enforcement path is more practical. Monitor PostgreSQL logs for unusual SET timezone commands with excessively long values as a detection signal while patching is pending.

Affected VersionsENISA

PostgreSQL 15 <15.19
PostgreSQL 0 <14.24
PostgreSQL 18 <18.5
PostgreSQL 16 <16.15
PostgreSQL 17 <17.11

Affected Packages

euvd postgresql fix: 14.24, 15.19, 16.15, 17.11, 18.5

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

PostgreSQL's built-in to_char() formatting function accepts a timestamptz value and a format string, and internally resolves the session or explicitly provided timezone. POSIX timezone strings allow an extended abbreviation syntax (e.g., 'EST+5EDT,M3.2.0,M11.1.0') where abbreviation tokens have no enforced length limit in the vulnerable code path. CWE-122 (Heap-based Buffer Overflow) indicates that the overflow occurs in heap-allocated memory during timezone abbreviation parsing or formatting, rather than on the stack. Successful exploitation overwrites adjacent heap metadata or function pointers, leading to control-flow hijack. Because the PostgreSQL server process runs under a dedicated OS user (typically 'postgres'), code execution grants attacker-level access to that account, including all data files managed by the cluster. CPE for affected versions covers cpe:2.3:a:postgresql:postgresql:*:*:*:*:*:*:*:* across major versions 14, 15, 16, 17, and 18 prior to their respective fix releases.

Know when PostgreSQL gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (f86ef6dc-4d3a-42ad-8f28-e6d5547a5007) PRIMARY 8.8 HIGH
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
vuln.today AI 8.8 HIGH

Network-reachable via standard SQL; any authenticated low-privilege user can set timezone and invoke to_char(), yielding full RCE with no user interaction.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
SUSE HIGH
Red Hat 8.8 HIGH

Primary rating from Vendor (f86ef6dc-4d3a-42ad-8f28-e6d5547a5007).

CVSS VectorVendor: f86ef6dc-4d3a-42ad-8f28-e6d5547a5007

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

2
Patch available
Aug 13, 2026 - 14:02 EUVD
CVE Published
Aug 13, 2026 - 13:17 cve.org
HIGH 8.8

DescriptionCVE.org

Heap buffer overflow in PostgreSQL to_char(timestamptz) allows the party choosing the timezone to execute arbitrary code as the operating system user running the database, via a long POSIX timezone abbreviation. Versions before PostgreSQL 18.5, 17.11, 16.15, 15.19, and 14.24 are affected.

Latest POC

1 public PoC link from github

Sign in to open the public PoC links collected for this CVE.

Executive ViewAI

Why It Matters

PostgreSQL versions 14-18 contain a heap buffer overflow in the to_char() function that allows authenticated database users to execute arbitrary code with operating system privileges. This impacts any organization running affected PostgreSQL versions where untrusted or semi-trusted users have database access, potentially enabling complete database compromise and OS-level lateral movement.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.6%
Top 54% exploitable
Prevalence
High
one of the most widely deployed open-source relational databases globally
Data Quality
8 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment Vendor GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC Yes
EPSS 0.6%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

65
Low Medium High Critical
KEV: 0
EPSS: +1
CVSS: +44
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.

A heap overflow occurs when a program writes data beyond the bounds of a buffer allocated in the heap memory region.

Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.

CVE-2025-1094 HIGH POC
8.1 Feb 13

PostgreSQL libpq functions PQescapeLiteral(), PQescapeIdentifier(), PQescapeString(), and PQescapeStringConn() improperl

CVE-2024-55964 CRITICAL POC
9.8 Mar 26

An issue was discovered in Appsmith before 1.52. Rated critical severity (CVSS 9.8), this vulnerability is remotely expl

CVE-2013-1899 MEDIUM POC
6.5 Apr 04

Argument injection vulnerability in PostgreSQL 9.2.x before 9.2.4, 9.1.x before 9.1.9, and 9.0.x before 9.0.13 allows re

CVE-2026-20253 CRITICAL POC
9.8 Jun 10

Unauthenticated arbitrary file write in Splunk Enterprise (below 10.2.4 and 10.0.7) and Splunk Cloud Platform (below 10.

CVE-2026-9586 CRITICAL POC
9.3 Jul 17

Unauthenticated SQL injection in Sangoma Switchvox SMB Edition 8.3 (build 104997) lets remote attackers execute arbitrar

CVE-2017-7546 CRITICAL
9.8 Aug 16

PostgreSQL versions before 9.2.22, 9.3.18, 9.4.13, 9.5.8 and 9.6.4 are vulnerable to incorrect authentication flaw allow

CVE-2015-1352 MEDIUM POC
5.0 Mar 30

The build_tablename function in pgsql.c in the PostgreSQL (aka pgsql) extension in PHP through 5.6.7 does not validate t

CVE-2024-10553 CRITICAL POC
9.8 Mar 20

A vulnerability in the h2oai/h2o-3 REST API versions 3.46.0.4 allows unauthenticated remote attackers to execute arbitra

CVE-2019-9193 HIGH POC
7.2 Apr 01

In PostgreSQL 9.3 through 11.2, the "COPY TO/FROM PROGRAM" function allows superusers and users in the 'pg_execute_serve

CVE-2026-40887 CRITICAL POC
9.1 Apr 14

Unauthenticated SQL injection in Vendure Shop API allows remote attackers to execute arbitrary SQL commands against the

CVE-2022-24760 CRITICAL POC
10.0 Mar 12

Parse Server is an open source http web server backend. Rated critical severity (CVSS 10.0), this vulnerability is remot

CVE-2025-56157 CRITICAL POC
9.8 Dec 18

Hard-coded default PostgreSQL credentials shipped in the docker-compose.yaml of langgenius Dify through version 1.5.1 al

Vendor StatusVendor

SUSE

Severity: Important
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise High Performance Computing 15 SP7 Affected
SUSE Linux Enterprise High Performance Computing 15 SP7 Affected

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy