Medium · published August 13, 2026
Observable response discrepancy in PostgreSQL SCRAM authentication allows an unauthenticated user to test the existence of a user via observing the SCRAM iteration count. This requires the probed user to have a non-default scram_iterations count, because the authentication challenge for a nonexistent user reports the default scram_iterations. Within major versions 16-18, minor versions before PostgreSQL 18.6, 17.11, and 16.15 are affected. Versions before PostgreSQL 16 are unaffected.
| Product | Versions | Fixed in |
|---|---|---|
| postgresql/postgresql | ≥ 14.0, < 14.24 | 14.24 |
| postgresql/postgresql | ≥ 15.0, < 15.19 | 15.19 |
| postgresql/postgresql | ≥ 16.0, < 16.15 | 16.15 |
| postgresql/postgresql | ≥ 17.0, < 17.11 | 17.11 |
| postgresql/postgresql | ≥ 18.0, < 18.5 | 18.5 |