VDB
KO
HIGH

GHSA-5x78-73v4-xg6w

postgres-protocol: Unbounded SCRAM iteration count allows a malicious server to cause CPU-exhaustion denial of service

Details

A malicious, compromised, or man-in-the-middle server can supply an arbitrarily large SCRAM-SHA-256 PBKDF2 iteration count during authentication. The client runs it inline with no upper bound, pinning a `tokio` worker thread for minutes per connection, possibly stalling the whole async runtime.

Applications that connect only to a trusted database are not exposed; the risk applies to clients that may connect to untrusted or user-supplied servers, or whose connection can be intercepted by a man-in-the-middle.

Are you affected?

Enter the version of the package you're using.

Affected packages

crates.io / postgres-protocol
Introduced in: 0.3.0 Fixed in: 0.6.12

Upgrade postgres-protocol to 0.6.12 or newer (ecosystem crates.io).

References