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 <[email protected]> Author: Nathan Bossart <[email protected]> Reviewed-by: Michael Paquier <[email protected]> Reviewed-by: Heikki Linnakangas <[email protected]> Reviewed-by: Jacob Champion <[email protected]> Security: CVE-2026-14672 Backpatch-through: 16 Branch ------ REL_16_STABLE Details ------- https://git.postgresql.org/pg/commitdiff/fadbe882d16112fd8c5ccf2b73eb9621dbfe130a Author: Nathan Bossart <[email protected]> Modified Files -------------- doc/src/sgml/config.sgml | 13 +++++++++++++ src/backend/libpq/auth-scram.c | 2 +- 2 files changed, 14 insertions(+), 1 deletion(-)
