Skip to content
OpenAdvisories

Ecosystem

crates.io

2,056 known vulnerabilities.

610 results · Clear filters · Feed

  • Medium 6.9

    RustFS Logs Sensitive Credentials in Plaintext

    RustFS is a distributed object storage system built in Rust. From versions alpha.13 to alpha.81, RustFS logs sensitive credential material (access key, secret key, session token) to application logs at INFO level. This results in credentials being recorded in…

  • Medium —

    ml-dsa's UseHint function has off by two error when r0 equals zero

    ### Summary There's a bug in the `use_hint` function where it adds 1 instead of subtracting 1 when the decomposed low bits `r0` equal exactly zero. FIPS 204 Algorithm 40 is pretty clear that `r0 > 0` means strictly positive, but the current code treats zero a…

  • Medium 5.3

    soroban-sdk has overflow in Bytes::slice, Vec::slice, GenRange::gen_range for u64

    soroban-sdk is a Rust SDK for Soroban contracts. Arithmetic overflow can be triggered in the `Bytes::slice`, `Vec::slice`, and `Prng::gen_range` (for `u64`) methods in the `soroban-sdk` in versions up to and including `25.0.1`, `23.5.1`, and `25.0.2`. Contrac…

  • Medium 5.3

    ML-DSA Signature Verification Accepts Signatures with Repeated Hint Indices

    The ML-DSA crate is a Rust implementation of the Module-Lattice-Based Digital Signature Standard (ML-DSA). Starting in version 0.0.4 and prior to version 0.1.0-rc.4, the ML-DSA signature verification implementation in the RustCrypto `ml-dsa` crate incorrectly…

  • Medium 4.1

    Wasmtime segfault or unused out-of-sandbox load with f64.copysign operator on x86-64

    Wasmtime is a runtime for WebAssembly. Starting in version 29.0.0 and prior to version 36.0.5, 40.0.3, and 41.0.1, on x86-64 platforms with AVX, Wasmtime's compilation of the `f64.copysign` WebAssembly instruction with Cranelift may load 8 more bytes than is …

  • Medium 6.8

    miniserve affected by a TOCTOU and symlink race vulnerability

    A TOCTOU and symlink race in svenstaro/miniserve 0.32.0 upload finalization (when uploads are enabled) can allow an attacker to overwrite arbitrary files outside the intended upload/document root in deployments where the attacker can create/replace filesystem…

  • Medium 6.4

    RustCrypto: Signatures has timing side-channel in ML-DSA decomposition

    RustCrypto: Signatures offers support for digital signatures, which provide authentication of data using public-key cryptography. Prior to version 0.1.0-rc.2, a timing side-channel was discovered in the Decompose algorithm which is used during ML-DSA signing …

  • Medium 5.7

    RustFS has IAM deny_only Short-Circuit that Allows Privilege Escalation via Service Account Minting

    RustFS is a distributed object storage system built in Rust. In versions 1.0.0-alpha.13 through 1.0.0-alpha.78, a flawed `deny_only` short-circuit in RustFS IAM allows a restricted service account or STS credential to self-issue an unrestricted service accoun…

  • Medium 5.7

    RustFS has IAM Incorrect Authorization in ImportIam that Allows Privilege Escalation

    RustFS is a distributed object storage system built in Rust. Prior to version 1.0.0-alpha.79, he `ImportIam` admin API validates permissions using `ExportIAMAction` instead of `ImportIAMAction`, allowing a principal with export-only IAM permissions to perform…

  • Medium 5.5

    RustFS gRPC GetMetrics deserialization panic enables remote DoS

    RustFS is a distributed object storage system built in Rust. In versions 1.0.0-alpha.13 to 1.0.0-alpha.77, a malformed gRPC GetMetrics request causes get_metrics to unwrap() failed deserialization of metric_type/opts, panicking the handler thread and enabling…

  • Medium 6.7

    theshit vulnerable to unsafe loading of user-owned Python rules when running as root.

    theshit is a command-line utility that automatically detects and fixes common mistakes in shell commands. Prior to version 0.1.1, the application loads custom Python rules and configuration files from user-writable locations (e.g., `~/.config/theshit/`) witho…

  • Medium —

    ruint affected by unsoundness of safe `reciprocal_mg10`

    The function `reciprocal_mg10` is marked as safe but can trigger undefined behavior (out-of-bounds access) because it relies on `debug_assert!` for safety checks instead of `assert!`. When compiled in release mode, the `debug_assert!` is optimized out, potent…

  • Medium 5.3

    Sequoia PGP has Subtraction Overflow when aes_key_unwrap function is provided ciphertext that is too short

    In Sequoia before 2.1.0, aes_key_unwrap panics if passed a ciphertext that is too short. A remote attacker can take advantage of this issue to crash an application by sending a victim an encrypted message with a crafted PKESK or SKESK packet.

  • Medium 5.5

    Static Web Server is vulnerable to symbolic link Path Traversal

    Static Web Server (SWS) is a production-ready web server suitable for static web files or assets. Versions 2.40.0 and below contain symbolic links (symlinks) which can be used to access files or directories outside the intended web root folder. SWS generally …

  • Medium 6.0

    nitro-tpm-pcr-compute may allow kernel command line modification by an account operator

    ## Summary Adding default PCR12 validation to ensure that account operators can not modify kernel command line parameters, potentially bypassing root filesystem integrity validation. Attestable AMIs are based on the systemd Unified Kernel Image (UKI) concept …

  • Medium 4.4

    sudo-rs doesn't record authenticating user properly in timestamp

    sudo-rs is a memory safe implementation of sudo and su written in Rust. With `Defaults targetpw` (or `Defaults rootpw`) enabled, the password of the target account (or root account) instead of the invoking user is used for authentication. sudo-rs starting in …

  • Medium —

    ncurses exposes uninitialized memory in string reading functions

    Multiple string reading functions expose uninitialized memory by setting length to capacity when no null terminator is found. This allows reading uninitialized memory which may contain sensitive data from previous allocations. The ncurses-rs repository is arc…

  • Medium —

    OpenMLS improper persistence of the secret tree during message processing

    ### Summary A bug in the OpenMLS library prevented private key material from being updated in storage during message processing. The key material in question are the keys stored in the MLS secret tree, which are used for decryption of private MLS messages. Th…

  • Medium 5.7

    Surrealdb: surrealdb is vulnerable to unauthorized data exposure via live query subscriptions

    A flaw was found in the live query subscription mechanism of the database engine. This vulnerability allows record or guest users to observe unauthorized records within the same table, bypassing access controls, via crafted LIVE SELECT subscriptions when othe…

  • Medium 6.1

    astral-tokio-tar has a path traversal in tar extraction

    astral-tokio-tar is a tar archive reading/writing library for async Rust. In versions 0.5.3 and earlier of astral-tokio-tar, tar archives may extract outside of their intended destination directory when using the Entry::unpack_in_raw API. Additionally, the En…

  • Medium —

    serde_yml crate is unsound and unmaintained

    Using `serde_yml::ser::Serializer.emitter` can cause a segmentation fault, which is unsound. The GitHub project for `serde_yml` was archived after unsoundness issues were raised. If you rely on this crate, it is highly recommended switching to a maintained al…

  • Medium 5.9

    httpsig-rs's HMAC verification is vulnerable to timing attack

    httpsig-rs is a Rust implementation of IETF RFC 9421 http message signatures. Prior to version 0.0.19, the HMAC signature comparison is not timing-safe. This makes anyone who uses HS256 signature verification vulnerable to a timing attack that allows the atta…

  • Medium 6.0

    frost-core: refresh shares with smaller min_signers will reduce group security

    ZF FROST is a Rust implementation of FROST (Flexible Round-Optimised Schnorr Threshold signatures). In versions 2.0.0 through 2.1.0, refresh shares with smaller min_signers will reduce security of group. The inability to change min_signers (i.e. the threshold…

  • Medium —

    ArrayQueue's push_front is not panic-safe

    The safe API `array_queue::ArrayQueue::push_front` can lead to deallocating uninitialized memory if a panic occurs while invoking the `clone` method on the passed argument. Specifically, `push_front` receives an argument that is intended to be cloned and push…

  • Medium 5.3

    DoS Vulnerability in ntpd-rs

    nptd-rs is a tool for synchronizing your computer's clock, implementing the NTP and NTS protocols. In versions between 1.2.0 and 1.6.1 inclusive servers which allow non-NTS traffic are affected by a denial of service vulnerability, where an attacker can induc…

  • Medium —

    webp crate may expose memory contents when encoding an image

    Affected versions of this crate did not check that the input slice passed to `"webp::Encoder::encode()` is large enough for the specified image dimensions. If the input slice is too short, the library will read out of bounds of the buffer and encode other mem…

  • Medium —

    IdMap from_iter may lead to uninitialized memory being freed on drop

    Due to a flaw in the constructor `id_map::IdMap::from_iter`, ill-formed objects may be created in which the amount of actually initialized memory is less than what is expected by the fields of `IdMap`. Specifically, the field `ids` is initialized based on the…

  • Medium —

    User-defined implementations of the safe trait scratchpad::Tracking can cause heap buffer overflows

    The `get` and `set` methods of the public trait `scratchpad::Tracking` interact with unsafe code regions in the crate, and they influence the computation of addresses returned as raw pointers. However, the trait itself is not marked as unsafe, meaning users m…

  • Medium 5.1

    slab allows out-of-bounds access in `get_disjoint_mut` due to incorrect bounds check

    slab is a pre-allocated storage for a uniform data type. In version 0.4.10, the get_disjoint_mut method incorrectly checked if indices were within the slab's capacity instead of its length, allowing access to uninitialized memory. This could lead to undefined…

  • Medium 6.5

    Russh is missing an overflow check during channel windows adjust

    Russh is a Rust SSH client & server library. In versions 0.54.0 and below, the channel window adjust message of the SSH protocol is used to track the free space in the receive buffer of the other side of a channel. The current implementation takes the value f…

  • Medium 4.1

    gix-transport code execution vulnerability

    The gix-transport crate before 0.36.1 for Rust allows command execution via the "gix clone 'ssh://-oProxyCommand=open$IFS" substring. NOTE: this was discovered before CVE-2024-32884, a similar vulnerability (involving a username field) that is more difficult …

  • Medium 4.5

    `openssl` `X509VerifyParamRef::set_host` buffer over-read

    The openssl crate before 0.10.55 for Rust allows an out-of-bounds read via an empty string to X509VerifyParamRef::set_host.

  • Medium 5.9

    `ed25519-dalek` Double Public Key Signing Function Oracle Attack

    The ed25519-dalek crate before 2 for Rust allows a double public key signing function oracle attack. The Keypair implementation leads to a simple computation for extracting a private key.

  • Medium 5.3

    Remotely exploitable denial of service in Rosenpass

    The rosenpass crate before 0.2.1 for Rust allows remote attackers to cause a denial of service (panic) via a one-byte UDP packet.

  • Medium 4.5

    transpose: Buffer overflow due to integer overflow

    The transpose crate before 0.2.3 for Rust allows an integer overflow via input_width and input_height arguments.

  • Medium 5.2

    Matrix Rust SDK allows SQL injection in the EventCache implementation

    The Matrix Rust SDK is a collection of libraries that make it easier to build Matrix clients in Rust. An SQL injection vulnerability in the EventCache::find_event_with_relations method of matrix-sdk 0.11 and 0.12 allows malicious room members to execute arbit…

  • Medium 5.9

    Crash due to uncontrolled recursion in protobuf crate

    The protobuf crate before 3.7.2 for Rust allows uncontrolled recursion in the protobuf::coded_input_stream::CodedInputStream::skip_group parsing of unknown fields in untrusted input.

  • Medium 4.0

    Rust Web Push is vulnerable to a DoS attack via a large integer in a Content-Length header

    The web-push crate before 0.10.3 for Rust allows a denial of service (memory consumption) in the built-in clients via a large integer in a Content-Length header.

  • Medium 6.9

    ethereum does not check transaction malleability for EIP-2930, EIP-1559 and EIP-7702 transactions

    ethereum is a common ethereum structs for Rust. Prior to ethereum crate v0.18.0, signature malleability (according to EIP-2) was only checked for "legacy" transactions, but not for EIP-2930, EIP-1559 and EIP-7702 transactions. This is a specification deviatio…

  • Medium —

    wasmtime_jit_debug Dumps Undefined Memory by `JitDumpFile`

    The unsound function `dump_code_load_record` uses `from_raw_parts` to directly convert the pointer `addr` and `len` into a slice without any validation and that memory block would be dumped. Thus, the 'safe' function dump_code_load_record is actually 'unsafe'…