GHSA-3gjw-f78c-vvpw Panic on a `DataRow` with fewer fields than columns allows denial of service

Not scored Published

A malicious server can cause a denial of service by sending malformed data rows, crashing the Rust database client application.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is GHSA-3gjw-f78c-vvpw?

GHSA-3gjw-f78c-vvpw is a denial of service vulnerability in tokio-postgres, published on 12 Jun 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official description

A malicious or compromised server can send a row containing fewer fields than its row description declares columns. Reading one of the missing columns then panics with an out-of-bounds index, aborting the calling task. This affects even the otherwise non-panicking try_get, and both Row and SimpleQueryRow.

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.

Which versions are affected by GHSA-3gjw-f78c-vvpw?

3 open source packages ship an affected version, including tokio-postgres.

PackageAffectedFixed in
tokio-postgres crates.ioFrom 0.4.00.7.18
tokio-postgres crates.ioFrom 0.4.00.7.18
tokio-postgres crates.ioFrom 0.4.00.7.18

How do I fix GHSA-3gjw-f78c-vvpw?

Upgrade tokio-postgres to 0.7.18 or later.

Upgrade, then put limits on request size, rate and nesting depth so one client cannot exhaust the service. More about Denial of service.

Is GHSA-3gjw-f78c-vvpw being exploited?

There is no known exploitation of GHSA-3gjw-f78c-vvpw in the wild and no public exploit code.

Sources

Also known as RUSTSEC-2026-0178.

Is GHSA-3gjw-f78c-vvpw in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free