agora inbox for pgsql-committers@postgresql.org  
help / color / mirror / Atom feed
From: Noah Misch <noah@leadboat.com>
To: pgsql-committers@lists.postgresql.org
Subject: pgsql: pg_stat_statements: Fix buffer overflow with query normalization
Date: Mon, 10 Aug 2026 13:41:20 +0000
Message-ID: <E1wtQFk-00000000y14-0MPA@gemulon.postgresql.org> (raw)

pg_stat_statements: Fix buffer overflow with query normalization

Since commit 62d712ecfd94, pg_stat_statements has been underestimating
the size of the result buffer possible for a normalized query, in cases
where the query includes many squashable lists, causing the normalized
query to write past the allocated area.

The allocated buffer size forgot to account for the comment appended in
a squashable list, "/*, ... */".  Instead of trying to track down
precisely how much space we need, fix by switch to using an expansible
StringInfo.  This not only fixes the bug, but it also makes the code
simpler to follow.

Author: Álvaro Herrera <alvherre@kurilemu.de>
Reported-by: Sajeeb Lohani with TrendAI Zero Day Initiative
Reported-by: Yuelin Wang <3020001251@tju.edu.cn>
Diagnosed-by: Michaël Paquier <michael@paquier.xyz>
Backpatch-through: 18
Security: CVE-2026-14676
Discussion: https://postgr.es/m/19528-7290dd7e6f7dcc22@postgresql.org

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/1e2795ddeafc66cd78d2c90a69dd820488639c7c
Author: Álvaro Herrera <alvherre@kurilemu.de>

Modified Files
--------------
contrib/pg_stat_statements/pg_stat_statements.c | 44 +++++++++----------------
1 file changed, 16 insertions(+), 28 deletions(-)



view thread (3+ messages)  latest in thread

Message-ID: <E1wtQFk-00000000y14-0MPA@gemulon.postgresql.org>
Permalink:  ../E1wtQFk-00000000y14-0MPA@gemulon.postgresql.org/
Also on:    postgresql.org/message-id/E1wtQFk-00000000y14-0MPA@gemulon.postgresql.org

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-committers@postgresql.org
  Cc: noah@leadboat.com, pgsql-committers@lists.postgresql.org
  Subject: Re: pgsql: pg_stat_statements: Fix buffer overflow with query normalization
  In-Reply-To: <E1wtQFk-00000000y14-0MPA@gemulon.postgresql.org>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox