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

Crate librespot

Dependencies

(10 total, 1 outdated)

CrateRequiredLatestStatus
 data-encoding^2.52.9.0up to date
 env_logger^0.11.20.11.8up to date
 futures-util^0.30.3.31up to date
 getopts^0.20.2.23up to date
 log^0.40.4.27up to date
 sha1^0.100.10.6up to date
 sysinfo^0.33.00.35.2out of date
 thiserror^2.02.0.12up to date
 tokio^1.401.45.1up to date
 url^2.22.5.4up to date

Crate librespot-audio

Dependencies

(12 total, 1 possibly insecure)

CrateRequiredLatestStatus
 aes^0.80.8.4up to date
 bytes^11.10.1up to date
 ctr^0.90.9.2up to date
 futures-util^0.30.3.31up to date
 hyper^1.31.6.0up to date
 hyper-util^0.10.1.14up to date
 http-body-util^0.1.10.1.3up to date
 log^0.40.4.27up to date
 parking_lot^0.120.12.4up to date
 tempfile^33.20.0up to date
 thiserror^2.02.0.12up to date
 tokio ⚠️^11.45.1maybe insecure

Crate librespot-connect

Dependencies

(9 total, 1 outdated, 2 possibly insecure)

CrateRequiredLatestStatus
 futures-util^0.30.3.31up to date
 log^0.40.4.27up to date
 protobuf ⚠️^3.53.7.2maybe insecure
 rand^0.80.9.1out of date
 serde_json^1.01.0.140up to date
 thiserror^2.02.0.12up to date
 tokio ⚠️^11.45.1maybe insecure
 tokio-stream^0.10.1.17up to date
 uuid^1.11.01.17.0up to date

Crate librespot-core

Dependencies

(47 total, 5 outdated, 1 insecure, 2 possibly insecure)

CrateRequiredLatestStatus
 aes^0.80.8.4up to date
 base64^0.220.22.1up to date
 byteorder^1.41.5.0up to date
 bytes^11.10.1up to date
 form_urlencoded^1.01.2.1up to date
 futures-core^0.30.3.31up to date
 futures-util^0.30.3.31up to date
 governor^0.80.10.0out of date
 hmac^0.120.12.1up to date
 httparse^1.71.10.1up to date
 http^1.01.3.1up to date
 hyper^1.31.6.0up to date
 hyper-util^0.10.1.14up to date
 http-body-util^0.1.10.1.3up to date
 log^0.40.4.27up to date
 nonzero_ext^0.30.3.0up to date
 num-bigint^0.40.4.6up to date
 num-derive^0.40.4.2up to date
 num-integer^0.10.1.46up to date
 num-traits^0.20.2.19up to date
 once_cell^11.21.3up to date
 parking_lot^0.120.12.4up to date
 pbkdf2^0.120.12.2up to date
 pin-project-lite^0.20.2.16up to date
 priority-queue^2.02.5.0up to date
 protobuf ⚠️^3.53.7.2maybe insecure
 quick-xml^0.37.10.38.0out of date
 rand^0.80.9.1out of date
 rsa ⚠️^0.9.20.9.8insecure
 serde^1.01.0.219up to date
 serde_json^1.01.0.140up to date
 sha1^0.100.10.6up to date
 shannon^0.20.2.0up to date
 sysinfo^0.33.00.35.2out of date
 thiserror^2.02.0.12up to date
 time^0.30.3.41up to date
 tokio ⚠️^11.45.1maybe insecure
 tokio-stream^0.10.1.17up to date
 tokio-util^0.70.7.15up to date
 url^22.5.4up to date
 uuid^11.17.0up to date
 data-encoding^2.52.9.0up to date
 flate2^1.0.331.1.2up to date
 protobuf-json-mapping^3.53.7.2up to date
 hyper-proxy2^0.10.1.0up to date
 hyper-rustls^0.27.20.27.7up to date
 tokio-tungstenite^0.240.27.0out of date

Dev dependencies

(1 total, 1 possibly insecure)

CrateRequiredLatestStatus
 tokio ⚠️^11.45.1maybe insecure

Build dependencies

(2 total, 1 outdated)

CrateRequiredLatestStatus
 rand^0.80.9.1out of date
 vergen-gitcl^1.0.01.0.8up to date

Crate librespot-discovery

Dependencies

(22 total, 1 outdated, 1 possibly insecure)

CrateRequiredLatestStatus
 aes^0.80.8.4up to date
 base64^0.220.22.1up to date
 bytes^11.10.1up to date
 ctr^0.90.9.2up to date
 dns-sd^0.1.30.1.3up to date
 form_urlencoded^1.01.2.1up to date
 futures-core^0.30.3.31up to date
 futures-util^0.30.3.31up to date
 hmac^0.120.12.1up to date
 hyper^1.31.6.0up to date
 hyper-util^0.10.1.14up to date
 http-body-util^0.1.10.1.3up to date
 libmdns^0.90.9.1up to date
 log^0.40.4.27up to date
 rand^0.80.9.1out of date
 serde^11.0.219up to date
 serde_repr^0.10.1.20up to date
 serde_json^1.01.0.140up to date
 sha1^0.100.10.6up to date
 thiserror^2.02.0.12up to date
 tokio ⚠️^11.45.1maybe insecure
 zbus^55.7.1up to date

Dev dependencies

(3 total, 1 possibly insecure)

CrateRequiredLatestStatus
 futures^0.30.3.31up to date
 hex^0.40.4.3up to date
 tokio ⚠️^11.45.1maybe insecure

Crate librespot-metadata

Dependencies

(8 total, 1 possibly insecure)

CrateRequiredLatestStatus
 async-trait^0.10.1.88up to date
 bytes^11.10.1up to date
 log^0.40.4.27up to date
 protobuf ⚠️^3.53.7.2maybe insecure
 thiserror^2.02.0.12up to date
 uuid^11.17.0up to date
 serde^1.01.0.219up to date
 serde_json^1.01.0.140up to date

Crate librespot-playback

Dependencies

(24 total, 3 outdated, 2 possibly insecure)

CrateRequiredLatestStatus
 portable-atomic^11.11.1up to date
 futures-util^0.30.3.31up to date
 log^0.40.4.27up to date
 parking_lot^0.120.12.4up to date
 shell-words^1.11.1.0up to date
 thiserror^2.02.0.12up to date
 tokio ⚠️^11.45.1maybe insecure
 zerocopy^0.8.130.8.26up to date
 alsa^0.9.00.9.1up to date
 portaudio-rs ⚠️^0.30.3.2maybe insecure
 libpulse-binding^22.30.1up to date
 libpulse-simple-binding^22.29.0up to date
 jack^0.130.13.3up to date
 sdl2^0.370.37.0up to date
 gstreamer^0.23.10.23.7up to date
 gstreamer-app^0.23.00.23.5up to date
 gstreamer-audio^0.23.00.23.6up to date
 glib^0.20.30.20.12up to date
 rodio^0.20.10.20.1up to date
 cpal^0.15.10.16.0out of date
 symphonia^0.50.5.4up to date
 ogg^0.90.9.2up to date
 rand^0.80.9.1out of date
 rand_distr^0.40.5.1out of date

Crate librespot-protocol

Dependencies

(1 total, 1 possibly insecure)

CrateRequiredLatestStatus
 protobuf ⚠️^3.53.7.2maybe insecure

Build dependencies

(1 total, all up-to-date)

CrateRequiredLatestStatus
 protobuf-codegen^33.7.2up to date

Crate librespot-oauth

Dependencies

(5 total, 1 outdated)

CrateRequiredLatestStatus
 log^0.40.4.27up to date
 oauth2^4.45.0.0out of date
 open^5.35.3.2up to date
 thiserror^2.02.0.12up to date
 url^2.22.5.4up to date

Dev dependencies

(2 total, all up-to-date)

CrateRequiredLatestStatus
 env_logger^0.11.20.11.8up to date
 tokio^1.43.01.45.1up to date

Security Vulnerabilities

portaudio-rs: Stream callback function is not unwind safe

RUSTSEC-2019-0022

Affected versions of this crate is not panic safe within callback functions stream_callback and stream_finished_callback.

The call to user-provided closure might panic before a mem::forget call, which then causes a use after free that grants attacker to control the callback function pointer.

This allows an attacker to construct an arbitrary code execution .

The flaw was reported by Phosphorus15.

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.

protobuf: Crash due to uncontrolled recursion in protobuf crate

RUSTSEC-2024-0437

Affected version of this crate did not properly parse unknown fields when parsing a user-supplied input.

This allows an attacker to cause a stack overflow when parsing the mssage on untrusted data.