GHSA-3gjw-f78c-vvpw: Rust/tokio-postgres vulnerability

Published Aug 24, 2026
·
Updated

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 tryget, 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.

Affected Software

1 affected componentFixes available
rust/tokio-postgres>=0.4.0<0.7.18
0.7.18

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade rust/tokio-postgres to a version that resolves this vulnerability.

    Fixed in 0.7.18

Event History

Aug 24, 2026
Advisory Published
via GitHub·07:49 PM
Data Sourced
via GitHub·07:49 PM
DescriptionWeaknessAffected Software

Frequently Asked Questions

1

Who is realistically exposed to this issue?

Clients that may connect to untrusted or user-supplied PostgreSQL servers are exposed. Clients can also be affected when a connection to the database can be intercepted or modified by a man-in-the-middle; applications connecting only to a trusted database are not exposed.

2

What does an attacker need to do to trigger the failure?

The attacker needs to control a server, or modify the server response in transit, so that it returns a row with fewer fields than declared in its row description. The application must then read one of the missing columns.

3

Does using try_get prevent the panic?

No. The issue affects the otherwise non-panicking try_get method as well as Row and SimpleQueryRow.

4

What can be done if updating is not immediately possible?

Limit connections to trusted database servers and prevent man-in-the-middle interception or modification of database connections. This removes the untrusted response source required to trigger the issue.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203