pgsql: Use value of scram_iterations in mock_scram_secret().

From: Noah Misch <noah(at)leadboat(dot)com>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Use value of scram_iterations in mock_scram_secret().
Date: 2026-08-10 13:41:20
Message-ID: E1wtQFk-00000000y1Z-2YdQ@gemulon.postgresql.org
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Use value of scram_iterations in mock_scram_secret().

Presently, mock_scram_secret() always uses
SCRAM_SHA_256_DEFAULT_ITERATIONS, which poses an observable
response discrepancy hazard when scram_iterations is set to
something else. To fix, use the value of the configuration
parameter instead, and document that unauthenticated users can
discover the existence of roles with passwords created with
different iteration counts.

Reported-by: Radim Marek <radim(at)boringsql(dot)com>
Author: Nathan Bossart <nathandbossart(at)gmail(dot)com>
Reviewed-by: Michael Paquier <michael(at)paquier(dot)xyz>
Reviewed-by: Heikki Linnakangas <hlinnaka(at)iki(dot)fi>
Reviewed-by: Jacob Champion <champion(dot)p(at)gmail(dot)com>
Security: CVE-2026-14672
Backpatch-through: 16

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/feb8b0182ffa38a51fb6b964bd5b97dd666d4da0
Author: Nathan Bossart <nathan(at)postgresql(dot)org>

Modified Files
--------------
doc/src/sgml/config.sgml | 13 +++++++++++++
src/backend/libpq/auth-scram.c | 2 +-
2 files changed, 14 insertions(+), 1 deletion(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Noah Misch 2026-08-10 13:41:21 pgsql: Replace fixed-size, too-short array with a palloc'd one.
Previous Message Noah Misch 2026-08-10 13:41:19 pgsql: pg_dump: avoid assuming how long pg_proc.protrftypes can be.