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

Crate sqlx

Dev dependencies

(17 total, 3 outdated, 1 possibly insecure)

CrateRequiredLatestStatus
 anyhow^1.0.521.0.97up to date
 time^0.3.20.3.41up to date
 futures^0.3.190.3.31up to date
 env_logger^0.110.11.8up to date
 tokio ⚠️^1.15.01.44.2maybe insecure
 dotenvy^0.15.00.15.7up to date
 trybuild^1.0.531.0.104up to date
 paste^1.0.61.0.15up to date
 serde^1.0.1321.0.219up to date
 serde_json^1.0.731.0.140up to date
 url^2.2.22.5.4up to date
 rand^0.8.40.9.0out of date
 rand_xoshiro^0.6.00.7.0out of date
 hex^0.4.30.4.3up to date
 tempfile^3.10.13.19.1up to date
 criterion^0.5.10.5.1up to date
 libsqlite3-sys^0.30.10.32.0out of date

Crate sqlx-test

Dependencies

(3 total, all up-to-date)

CrateRequiredLatestStatus
 env_logger^0.110.11.8up to date
 dotenvy^0.15.00.15.7up to date
 anyhow^1.0.261.0.97up to date

Crate sqlx-core

Dependencies

(33 total, 1 outdated, 2 possibly insecure)

CrateRequiredLatestStatus
 native-tls^0.2.100.2.14up to date
 rustls ⚠️^0.23.150.23.25maybe insecure
 webpki-roots^0.260.26.8up to date
 rustls-native-certs^0.8.00.8.1up to date
 async-io^1.9.02.4.0out of date
 base64^0.22.00.22.1up to date
 bytes^1.1.01.10.1up to date
 chrono^0.4.340.4.40up to date
 crc^33.2.1up to date
 crossbeam-queue^0.3.20.3.12up to date
 either^1.6.11.15.0up to date
 futures-core^0.3.190.3.31up to date
 futures-io^0.3.240.3.31up to date
 futures-intrusive^0.5.00.5.0up to date
 futures-util^0.3.190.3.31up to date
 log^0.4.180.4.27up to date
 memchr^2.4.12.7.4up to date
 once_cell^1.9.01.21.3up to date
 percent-encoding^2.1.02.3.1up to date
 regex^1.5.51.11.1up to date
 serde^1.0.1321.0.219up to date
 serde_json^1.0.731.0.140up to date
 sha2^0.10.00.10.8up to date
 thiserror^2.0.02.0.12up to date
 tokio-stream^0.1.80.1.17up to date
 tracing^0.1.370.1.41up to date
 smallvec^1.7.01.15.0up to date
 url^2.2.22.5.4up to date
 bstr^1.01.11.3up to date
 hashlink^0.10.00.10.0up to date
 indexmap^2.02.9.0up to date
 event-listener^5.2.05.4.0up to date
 hashbrown ⚠️^0.15.00.15.2maybe insecure

Dev dependencies

(1 total, 1 possibly insecure)

CrateRequiredLatestStatus
 tokio ⚠️^11.44.2maybe insecure

Crate sqlx-macros

Dependencies

(3 total, all up-to-date)

CrateRequiredLatestStatus
 proc-macro2^1.0.361.0.94up to date
 syn^2.0.522.0.100up to date
 quote^1.0.261.0.40up to date

Crate sqlx-macros-core

Dependencies

(12 total, all up-to-date)

CrateRequiredLatestStatus
 hex^0.4.30.4.3up to date
 heck^0.50.5.0up to date
 either^1.6.11.15.0up to date
 once_cell^1.9.01.21.3up to date
 proc-macro2^1.0.791.0.94up to date
 serde^1.0.1321.0.219up to date
 serde_json^1.0.731.0.140up to date
 sha2^0.10.00.10.8up to date
 syn^2.0.522.0.100up to date
 tempfile^3.10.13.19.1up to date
 quote^1.0.261.0.40up to date
 url^2.2.22.5.4up to date

Crate sqlx-cli

Dependencies

(15 total, 1 outdated, 3 possibly insecure)

CrateRequiredLatestStatus
 dotenvy^0.15.00.15.7up to date
 tokio ⚠️^1.15.01.44.2maybe insecure
 futures^0.3.190.3.31up to date
 clap^4.3.104.5.35up to date
 clap_complete^4.3.14.5.47up to date
 chrono ⚠️^0.4.190.4.40maybe insecure
 anyhow^1.0.521.0.97up to date
 console^0.15.00.15.11up to date
 dialoguer^0.110.11.0up to date
 serde_json^1.0.731.0.140up to date
 glob^0.3.00.3.2up to date
 openssl ⚠️^0.10.380.10.72maybe insecure
 cargo_metadata^0.18.10.19.2out of date
 filetime^0.20.2.25up to date
 backoff^0.4.00.4.0up to date

Dev dependencies

(2 total, all up-to-date)

CrateRequiredLatestStatus
 assert_cmd^2.0.112.0.16up to date
 tempfile^3.10.13.19.1up to date

Crate sqlx-mysql

Dependencies

(33 total, 2 outdated, 1 insecure, 1 possibly insecure)

CrateRequiredLatestStatus
 futures-channel^0.3.190.3.31up to date
 futures-core^0.3.190.3.31up to date
 futures-io^0.3.240.3.31up to date
 futures-util^0.3.190.3.31up to date
 crc^3.0.03.2.1up to date
 digest^0.10.00.10.7up to date
 hkdf^0.12.00.12.4up to date
 hmac^0.12.00.12.1up to date
 md-5^0.10.00.10.6up to date
 rand^0.8.40.9.0out of date
 rsa ⚠️^0.90.9.8insecure
 sha1^0.10.10.10.6up to date
 sha2^0.10.00.10.8up to date
 atoi^2.02.0.0up to date
 base64^0.22.00.22.1up to date
 bitflags^22.9.0up to date
 byteorder^1.4.31.5.0up to date
 bytes^1.1.01.10.1up to date
 dotenvy^0.15.50.15.7up to date
 either^1.6.11.15.0up to date
 generic-array^0.14.41.2.0out of date
 hex^0.4.30.4.3up to date
 itoa^1.0.11.0.15up to date
 log^0.4.180.4.27up to date
 memchr^2.4.12.7.4up to date
 once_cell^1.9.01.21.3up to date
 percent-encoding^2.1.02.3.1up to date
 smallvec^1.7.01.15.0up to date
 stringprep^0.1.20.1.5up to date
 thiserror^2.0.02.0.12up to date
 tracing^0.1.370.1.41up to date
 whoami ⚠️^1.2.11.6.0maybe insecure
 serde^1.0.1441.0.219up to date

Crate sqlx-postgres

Dependencies

(27 total, 1 outdated, 1 possibly insecure)

CrateRequiredLatestStatus
 futures-channel^0.3.190.3.31up to date
 futures-core^0.3.190.3.31up to date
 futures-util^0.3.190.3.31up to date
 crc^3.0.03.2.1up to date
 hkdf^0.12.00.12.4up to date
 hmac^0.12.00.12.1up to date
 md-5^0.10.00.10.6up to date
 rand^0.8.40.9.0out of date
 sha2^0.10.00.10.8up to date
 atoi^2.02.0.0up to date
 base64^0.22.00.22.1up to date
 bitflags^22.9.0up to date
 byteorder^1.4.31.5.0up to date
 hex^0.4.30.4.3up to date
 home^0.5.50.5.11up to date
 itoa^1.0.11.0.15up to date
 log^0.4.180.4.27up to date
 memchr^2.4.12.7.4up to date
 num-bigint^0.4.30.4.6up to date
 once_cell^1.9.01.21.3up to date
 smallvec^1.7.01.15.0up to date
 stringprep^0.1.20.1.5up to date
 thiserror^2.0.02.0.12up to date
 tracing^0.1.370.1.41up to date
 whoami ⚠️^1.2.11.6.0maybe insecure
 serde^1.0.1441.0.219up to date
 serde_json^1.0.851.0.140up to date

Crate sqlx-sqlite

Dependencies

(16 total, 1 outdated)

CrateRequiredLatestStatus
 futures-core^0.3.190.3.31up to date
 futures-channel^0.3.190.3.31up to date
 futures-executor^0.3.190.3.31up to date
 futures-intrusive^0.5.00.5.0up to date
 futures-util^0.3.190.3.31up to date
 url^2.2.22.5.4up to date
 percent-encoding^2.1.02.3.1up to date
 serde_urlencoded^0.70.7.1up to date
 flume^0.11.00.11.1up to date
 atoi^2.02.0.0up to date
 log^0.4.180.4.27up to date
 tracing^0.1.370.1.41up to date
 thiserror^2.0.02.0.12up to date
 serde^1.0.1451.0.219up to date
 regex^1.5.51.11.1up to date
 libsqlite3-sys^0.30.10.32.0out of date

Crate sqlx-example-mysql-todos

Dependencies

(4 total, 1 possibly insecure)

CrateRequiredLatestStatus
 anyhow^1.01.0.97up to date
 futures^0.30.3.31up to date
 clap^44.5.35up to date
 tokio ⚠️^1.20.01.44.2maybe insecure

Crate sqlx-example-postgres-axum-social

Dependencies

(15 total, 5 outdated, 1 possibly insecure)

CrateRequiredLatestStatus
 axum^0.5.130.8.3out of date
 tokio ⚠️^1.20.11.44.2maybe insecure
 argon2^0.4.10.5.3out of date
 rand^0.8.50.9.0out of date
 regex^1.6.01.11.1up to date
 serde^1.0.1401.0.219up to date
 serde_with^2.0.03.12.0out of date
 time^0.3.110.3.41up to date
 uuid^1.1.21.16.0up to date
 validator^0.16.00.20.0out of date
 anyhow^1.0.581.0.97up to date
 dotenvy^0.15.10.15.7up to date
 once_cell^1.13.01.21.3up to date
 thiserror^2.0.02.0.12up to date
 tracing^0.1.350.1.41up to date

Dev dependencies

(2 total, 1 outdated)

CrateRequiredLatestStatus
 serde_json^1.0.821.0.140up to date
 tower^0.4.130.5.2out of date

Crate sqlx-example-postgres-chat

Dependencies

(5 total, 3 outdated, 1 possibly insecure)

CrateRequiredLatestStatus
 futures^0.3.10.3.31up to date
 tokio ⚠️^1.20.01.44.2maybe insecure
 ratatui^0.27.00.29.0out of date
 crossterm^0.27.00.29.0out of date
 unicode-width^0.10.2.0out of date

Crate sqlx-example-postgres-files

Dependencies

(3 total, 1 possibly insecure)

CrateRequiredLatestStatus
 anyhow^1.01.0.97up to date
 tokio ⚠️^1.20.01.44.2maybe insecure
 dotenvy^0.15.00.15.7up to date

Crate sqlx-example-postgres-json

Dependencies

(7 total, 1 possibly insecure)

CrateRequiredLatestStatus
 anyhow^1.01.0.97up to date
 dotenvy^0.15.00.15.7up to date
 futures^0.30.3.31up to date
 serde^11.0.219up to date
 serde_json^11.0.140up to date
 clap^44.5.35up to date
 tokio ⚠️^1.20.01.44.2maybe insecure

Crate sqlx-example-postgres-listen

Dependencies

(2 total, 1 possibly insecure)

CrateRequiredLatestStatus
 futures^0.3.10.3.31up to date
 tokio ⚠️^1.20.01.44.2maybe insecure

Crate sqlx-example-postgres-todos

Dependencies

(5 total, 1 possibly insecure)

CrateRequiredLatestStatus
 anyhow^1.01.0.97up to date
 futures^0.30.3.31up to date
 clap^44.5.35up to date
 tokio ⚠️^1.20.01.44.2maybe insecure
 dotenvy^0.15.00.15.7up to date

Crate sqlx-example-postgres-mockable-todos

Dependencies

(7 total, 1 outdated, 1 possibly insecure)

CrateRequiredLatestStatus
 anyhow^1.01.0.97up to date
 futures^0.30.3.31up to date
 clap^44.5.35up to date
 tokio ⚠️^1.20.01.44.2maybe insecure
 dotenvy^0.15.00.15.7up to date
 async-trait^0.1.410.1.88up to date
 mockall^0.110.13.1out of date

Crate sqlx-example-postgres-transaction

Dependencies

(2 total, 1 possibly insecure)

CrateRequiredLatestStatus
 futures^0.3.10.3.31up to date
 tokio ⚠️^1.20.01.44.2maybe insecure

Crate sqlx-example-sqlite-todos

Dependencies

(4 total, 1 possibly insecure)

CrateRequiredLatestStatus
 anyhow^1.01.0.97up to date
 futures^0.30.3.31up to date
 clap^44.5.35up to date
 tokio ⚠️^1.20.01.44.2maybe insecure

Security Vulnerabilities

chrono: Potential segfault in `localtime_r` invocations

RUSTSEC-2020-0159

Impact

Unix-like operating systems may segfault due to dereferencing a dangling pointer in specific circumstances. This requires an environment variable to be set in a different thread than the affected functions. This may occur without the user's knowledge, notably in a third-party library.

Workarounds

No workarounds are known.

References

tokio: reject_remote_clients Configuration corruption

RUSTSEC-2023-0001

On Windows, configuring a named pipe server with pipe_mode will force ServerOptions::reject_remote_clients as false.

This drops any intended explicit configuration for the reject_remote_clients that may have been set as true previously.

The default setting of reject_remote_clients is normally true meaning the default is also overridden as false.

Workarounds

Ensure that pipe_mode is set first after initializing a ServerOptions. For example:

let mut opts = ServerOptions::new();
opts.pipe_mode(PipeMode::Message);
opts.reject_remote_clients(true);

rsa: Marvin Attack: potential key recovery through timing sidechannels

RUSTSEC-2023-0071

Impact

Due to a non-constant-time implementation, information about the private key is leaked through timing information which is observable over the network. An attacker may be able to use that information to recover the key.

Patches

No patch is yet available, however work is underway to migrate to a fully constant-time implementation.

Workarounds

The only currently available workaround is to avoid using the rsa crate in settings where attackers are able to observe timing information, e.g. local use on a non-compromised computer is fine.

References

This vulnerability was discovered as part of the "Marvin Attack", which revealed several implementations of RSA including OpenSSL had not properly mitigated timing sidechannel attacks.

whoami: Stack buffer overflow with whoami on several Unix platforms

RUSTSEC-2024-0020

With versions of the whoami crate >= 0.5.3 and < 1.5.0, calling any of these functions leads to an immediate stack buffer overflow on illumos and Solaris:

  • whoami::username
  • whoami::realname
  • whoami::username_os
  • whoami::realname_os

With versions of the whoami crate >= 0.5.3 and < 1.0.1, calling any of the above functions also leads to a stack buffer overflow on these platforms:

  • Bitrig
  • DragonFlyBSD
  • FreeBSD
  • NetBSD
  • OpenBSD

This occurs because of an incorrect definition of the passwd struct on those platforms.

As a result of this issue, denial of service and data corruption have both been observed in the wild. The issue is possibly exploitable as well.

This vulnerability also affects other Unix platforms that aren't Linux or macOS.

This issue has been addressed in whoami 1.5.0.

For more information, see this GitHub issue.

rustls: rustls network-reachable panic in `Acceptor::accept`

RUSTSEC-2024-0399

A bug introduced in rustls 0.23.13 leads to a panic if the received TLS ClientHello is fragmented. Only servers that use rustls::server::Acceptor::accept() are affected.

Servers that use tokio-rustls's LazyConfigAcceptor API are affected.

Servers that use tokio-rustls's TlsAcceptor API are not affected.

Servers that use rustls-ffi's rustls_acceptor_accept API are affected.

hashbrown: Borsh serialization of HashMap is non-canonical

RUSTSEC-2024-0402

The borsh serialization of the HashMap did not follow the borsh specification. It potentially produced non-canonical encodings dependent on insertion order. It also did not perform canonicty checks on decoding.

This can result in consensus splits and cause equivalent objects to be considered distinct.

This was patched in 0.15.1.

openssl: Use-After-Free in `Md::fetch` and `Cipher::fetch`

RUSTSEC-2025-0022

When a Some(...) value was passed to the properties argument of either of these functions, a use-after-free would result.

In practice this would nearly always result in OpenSSL treating the properties as an empty string (due to CString::drop's behavior).

The maintainers thank quitbug for reporting this vulnerability to us.