This project contains known security vulnerabilities. Find detailed information at the bottom.

Crate tokio-postgres

Dependencies

(12 total, 10 outdated, 2 insecure)

CrateRequiredLatestStatus
 bytes^0.41.12.1out of date
 fallible-iterator^0.20.3.0out of date
 futures-preview=0.3.0-alpha.190.2.2up to date
 log^0.40.4.34up to date
 parking_lot^0.90.12.5out of date
 percent-encoding^1.02.3.2out of date
 phf^0.7.230.14.0out of date
 pin-project^0.41.1.13out of date
 pin-utils=0.1.0-alpha.40.1.0out of date
 postgres-protocol ⚠️=0.5.0-alpha.10.6.12insecure
 postgres-types=0.1.0-alpha.10.2.14out of date
 tokio ⚠️=0.2.0-alpha.61.53.1insecure

Dev dependencies

(9 total, 6 outdated, 1 insecure)

CrateRequiredLatestStatus
 bit-vec^0.60.10.1out of date
 chrono^0.40.4.45up to date
 env_logger^0.50.11.11out of date
 eui48^0.41.1.0out of date
 geo-types^0.40.7.20out of date
 serde^1.01.0.229up to date
 serde_json^1.01.0.151up to date
 tokio ⚠️=0.2.0-alpha.61.53.1insecure
 uuid^0.71.26.1out of date

Security Vulnerabilities

tokio: Data race when sending and receiving after closing a `oneshot` channel

RUSTSEC-2021-0124

If a tokio::sync::oneshot channel is closed (via the oneshot::Receiver::close method), a data race may occur if the oneshot::Sender::send method is called while the corresponding oneshot::Receiver is awaited or calling try_recv.

When these methods are called concurrently on a closed channel, the two halves of the channel can concurrently access a shared memory location, resulting in a data race. This has been observed to cause memory corruption.

Note that the race only occurs when both halves of the channel are used after the Receiver half has called close. Code where close is not used, or where the Receiver is not awaited and try_recv is not called after calling close, is not affected.

See tokio#4225 for more details.

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

RUSTSEC-2026-0179

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.

postgres-protocol: Panic decoding a malformed `hstore` value allows denial of service

RUSTSEC-2026-0180

A malicious or compromised server can return a binary hstore value with an invalid internal length field, causing the client to panic while decoding it.

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.