{"id":"GHSA-3wfh-36rx-9537","summary":"Timing Attack Vulnerability in SCRAM Authentication","details":"### Impact\n\nA timing attack vulnerability exists in the SCRAM Java implementation. The issue arises because `Arrays.equals` was used to compare secret values such as client proofs and server signatures. Since `Arrays.equals` performs a short-circuit comparison, the execution time varies depending on how many leading bytes match. This behavior could allow an attacker to perform a timing side-channel attack and potentially infer sensitive authentication material. All users relying on SCRAM authentication are impacted.\n\n### Patches\n\nThis vulnerability has been patched by replacing `Arrays.equals` with `MessageDigest.isEqual`, which ensures constant-time comparison.\n\nUsers should upgrade to version **3.2** or later to mitigate this issue.\n\n### Workarounds\n\nBecause the attack requires high precision and repeated attempts, the risk is limited, but the only reliable mitigation is to upgrade to a patched release (version 3.2 or later).\n\n### References\n\n- [Java `MessageDigest.isEqual` Documentation](https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/security/MessageDigest.html#isEqual(byte[],byte[]))","aliases":["CVE-2025-59432"],"modified":"2026-02-03T03:08:37.551040Z","published":"2025-09-16T22:20:08Z","database_specific":{"github_reviewed":true,"github_reviewed_at":"2025-09-16T22:20:08Z","nvd_published_at":"2025-09-22T20:15:38Z","cwe_ids":["CWE-208","CWE-385"],"severity":"MODERATE"},"references":[{"type":"WEB","url":"https://github.com/ongres/scram/security/advisories/GHSA-3wfh-36rx-9537"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2025-59432"},{"type":"WEB","url":"https://github.com/ongres/scram/commit/e0b0cf99f05406a0d26682c72fcb5728e95124b3"},{"type":"WEB","url":"https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/security/MessageDigest.html#isEqual(byte%5B%5D,byte%5B%5D)"},{"type":"PACKAGE","url":"https://github.com/ongres/scram"}],"affected":[{"package":{"name":"com.ongres.scram:scram-common","ecosystem":"Maven","purl":"pkg:maven/com.ongres.scram/scram-common"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.2"}]}],"versions":["3.0","3.1"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2025/09/GHSA-3wfh-36rx-9537/GHSA-3wfh-36rx-9537.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V4","score":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/E:U"}]}