pgsql: Guard against overlength time zone abbreviations in to_char().

From: Noah Misch <noah(at)leadboat(dot)com>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Guard against overlength time zone abbreviations in to_char().
Date: 2026-08-10 13:41:21
Message-ID: E1wtQFl-00000000y2k-1wji@gemulon.postgresql.org
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Guard against overlength time zone abbreviations in to_char().

While typical abbreviations are only a few bytes long, a user-supplied
time_zone setting could specify a much longer abbreviation, enough to
overflow to_char's allocation of 12 bytes per format character. If so,
throw an error in the same style as commit 9241c84cb (CVE-2015-0241).

Reported-by: Hcamael <baiyjrh(at)gmail(dot)com>
Reported-by: Amjad Shahzad <amjadshahzad2000(at)gmail(dot)com>
Reported-by: Tan Zhen of AntAISecurityLab <TanZhen(dot)AntAI(at)outlook(dot)com>
Reported-by: Tomer Fichman <tomer(at)irregular(dot)com>
Reported-by: Zheng Yu <zheng(at)depthfirst(dot)com>
Reported-by: Amy Burnett (OpenAI Codex Security)
Reported-by: Rick de Jager <rick(at)v12(dot)sh>
Reported-by: Heewon Song <asteria121(at)78researchlab(dot)com>
Reported-by: Sylvie Mayer <smayer(at)cloudflare(dot)com>
Reported-by: Aleksander Alekseev <aleksander(at)tigerdata(dot)com>
Reported-by: Hillai Ben Sasson <hillai(dot)bensasson(at)wiz(dot)io>
Author: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Backpatch-through: 14
Security: CVE-2026-14669

Branch
------
REL_19_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/3294ab83947270a44f680a1725383e6521315b70
Author: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>

Modified Files
--------------
src/backend/utils/adt/formatting.c | 21 ++++++++++++++++++---
1 file changed, 18 insertions(+), 3 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Noah Misch 2026-08-10 13:41:22 pgsql: Return nulls honestly in aggregate "combine" functions.
Previous Message Noah Misch 2026-08-10 13:41:20 pgsql: Fix pg_trgm's picksplit function with all-true datums