{"id":"GHSA-5x78-73v4-xg6w","aliases":["RUSTSEC-2026-0179"],"status":"published","title":"postgres-protocol: Unbounded SCRAM iteration count allows a malicious server to cause CPU-exhaustion denial of service","description":"A malicious, compromised, or man-in-the-middle server can supply an arbitrarily\nlarge SCRAM-SHA-256 PBKDF2 iteration count during authentication. The client\nruns it inline with no upper bound, pinning a `tokio` worker thread for minutes\nper connection, possibly stalling the whole async runtime.\n\nApplications that connect only to a trusted database are not exposed; the risk\napplies to clients that may connect to untrusted or user-supplied servers, or\nwhose connection can be intercepted by a man-in-the-middle.","severity":{"version":"4.0","score":8.7,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N","level":"high","from":"ghsa"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-770"],"published":"2026-06-12T12:00:00Z","modified":"2026-09-10T03:51:13Z","fixes":[{"ecosystem":"crates.io","package":"postgres-protocol","fixed_in":["0.6.12"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"crates.io","package":"postgres-protocol","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0.3.0"},{"fixed":"0.6.12"}]}]},{"source":"osv","ecosystem":"crates.io","package":"postgres-protocol","ranges":[{"type":"SEMVER","events":[{"introduced":"0.3.0"},{"fixed":"0.6.12"}]}]},{"source":"osv","ecosystem":"crates.io","package":"postgres-protocol","ranges":[{"type":"SEMVER","events":[{"introduced":"0.3.0"},{"fixed":"0.6.12"}]}]}],"references":[{"url":"https://github.com/rust-postgres/rust-postgres/commit/d40097a36a85068ea50a3afbf0ce154ba439e7f0","tags":["web"]},{"url":"https://github.com/rust-postgres/rust-postgres/releases/tag/postgres-protocol-v0.6.12","tags":["web"]},{"url":"https://rustsec.org/advisories/RUSTSEC-2026-0179.html","tags":["web","advisory"]},{"url":"https://github.com/advisories/GHSA-5x78-73v4-xg6w"},{"url":"https://github.com/rust-postgres/rust-postgres","tags":["package"]},{"url":"https://crates.io/crates/postgres-protocol","tags":["package"]},{"url":"https://github.com/pgjdbc/pgjdbc/security/advisories/GHSA-98qh-xjc8-98pq","tags":["advisory"]}],"sources":{"ghsa":[{"id":"GHSA-5x78-73v4-xg6w","title":"postgres-protocol: Unbounded SCRAM iteration count allows a malicious server to cause CPU-exhaustion denial of service","description":"A malicious, compromised, or man-in-the-middle server can supply an arbitrarily\nlarge SCRAM-SHA-256 PBKDF2 iteration count during authentication. The client\nruns it inline with no upper bound, pinning a `tokio` worker thread for minutes\nper connection, possibly stalling the whole async runtime.\n\nApplications that connect only to a trusted database are not exposed; the risk\napplies to clients that may connect to untrusted or user-supplied servers, or\nwhose connection can be intercepted by a man-in-the-middle.","status":"published","published":"2026-08-24T19:43:31Z","modified":"2026-08-24T19:43:32Z","cvss":[{"version":"4.0","score":8.7,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N","level":"high"}],"cwes":["CWE-770"],"updated_at":"2026-11-02T14:41:04.755504Z"}],"osv":[{"id":"GHSA-5x78-73v4-xg6w","title":"postgres-protocol: Unbounded SCRAM iteration count allows a malicious server to cause CPU-exhaustion denial of service","description":"A malicious, compromised, or man-in-the-middle server can supply an arbitrarily\nlarge SCRAM-SHA-256 PBKDF2 iteration count during authentication. The client\nruns it inline with no upper bound, pinning a `tokio` worker thread for minutes\nper connection, possibly stalling the whole async runtime.\n\nApplications that connect only to a trusted database are not exposed; the risk\napplies to clients that may connect to untrusted or user-supplied servers, or\nwhose connection can be intercepted by a man-in-the-middle.","status":"published","published":"2026-08-24T19:43:31Z","modified":"2026-09-10T03:51:13.131342432Z","cvss":[{"version":"4.0","score":8.7,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N","level":"high"}],"cwes":["CWE-770"],"updated_at":"2026-11-02T15:46:38.911014Z"},{"id":"RUSTSEC-2026-0179","title":"Unbounded SCRAM iteration count allows a malicious server to cause CPU-exhaustion denial of service","description":"A malicious, compromised, or man-in-the-middle server can supply an arbitrarily\nlarge SCRAM-SHA-256 PBKDF2 iteration count during authentication. The client\nruns it inline with no upper bound, pinning a `tokio` worker thread for minutes\nper connection, possibly stalling the whole async runtime.\n\nApplications that connect only to a trusted database are not exposed; the risk\napplies to clients that may connect to untrusted or user-supplied servers, or\nwhose connection can be intercepted by a man-in-the-middle.","status":"published","published":"2026-06-12T12:00:00Z","modified":"2026-08-25T02:45:03.433816717Z","cvss":[{"version":"4.0","score":8.7,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N","level":"high"}],"updated_at":"2026-11-02T15:53:40.430679Z"}]}}
