Skip to content
OpenAdvisories

Ecosystem

crates.io

2,075 known vulnerabilities.

196 results · Clear filters · Feed

  • Low 2.7

    RISC Zero zkVM Underconstrained Vulnerability

    RISC Zero is a general computing platform based on zk-STARKs and the RISC-V microarchitecture. Due to a missing constraint in the rv32im circuit, any 3-register RISC-V instruction (including remu and divu) in risc0-zkvm 2.0.0, 2.0.1, and 2.0.2 are vulnerable …

  • Low —

    anon-vec lacks sufficient checks in public API

    The following functions in the anon-vec crate are unsound due to insufficient checks on their arguments:: - `AnonVec::get_ref()` - `AnonVec::get_mut()` - `AnonVec::remove_get()` The crate was built as a learning project and is not being maintained.

  • Low 2.9

    SCSIR has a Potential Unsound Issue in WriteSameCommand

    In group_number in the scsir crate 0.2.0 for Rust, there can be an overflow because a hardware device may expect a small number of bits (e.g., 5 bits) for group number.

  • Low 2.9

    Process Sync has a Potential Unsound Issue in SharedMutex

    In the process-sync crate 0.2.2 for Rust, the drop function lacks a check for whether the pthread_mutex is unlocked.

  • Low 2.9

    memory_pages division by zero

    In the memory_pages crate 0.1.0 for Rust, division by zero can occur.

  • Low 2.9

    process_lock has a Potential Unsound issue in unlock

    The process_lock crate 0.1.0 for Rust allows data races in unlock.

  • Low 3.3

    sudo-rs Allows Low Privilege Users to Enumerate Privileges of Others

    sudo-rs is a memory safe implementation of sudo and su written in Rust. Prior to version 0.2.6, users with limited sudo privileges (e.g. execution of a single command) can list sudo privileges of other users using the `-U` flag. This vulnerability allows user…

  • Low 3.3

    sudo-rs Allows Low Privilege Users to Discover the Existence of Files in Inaccessible Folders

    sudo-rs is a memory safe implementation of sudo and su written in Rust. Prior to version 0.2.6, users with no (or very limited) sudo privileges can determine whether files exists in folders that they otherwise cannot access using `sudo --list <pathname>`. Use…

  • Low 2.9

    libsql-sqlite3-parser crash due to invalid UTF-8 input

    dialect/mod.rs in the libsql-sqlite3-parser crate through 0.13.0 before 14f422a for Rust can crash if the input is not valid UTF-8.

  • Low 2.9

    trailer mishandles allocating with a size of zero

    lib.rs in the trailer crate through 0.1.2 for Rust mishandles allocating with a size of zero.

  • Low 2.9

    wgp race condition in inner::drop

    inner::drop in inner.rs in the wgp crate through 0.2.0 for Rust lacks drop_slow thread synchronization.

  • Low —

    scanner has a Public API without sufficient bounds checking

    `Match::get()` and `Match::ptr()` lack sufficient bounds checks, leading to potential out of bounds reads.

  • Low —

    Redox UEFI Safe API can cause heap-buffer-overflow

    ffi::nstr() should be marked unsafe, since a pointer to a buffer without a trailing 0 value will cause a heap buffer overflow.

  • Low 2.9

    obfstr Type Confusion vulnerability

    In the obfstr crate before 0.4.4 for Rust, the obfstr! argument type is not restricted to string slices, leading to invalid UTF-8 conversion that produces an invalid value.

  • Low —

    Tokio broadcast channel calls clone in parallel, but does not require `Sync`

    The broadcast channel internally calls `clone` on the stored value when receiving it, and only requires `T:Send`. This means that using the broadcast channel with values that are `Send` but not `Sync` can trigger unsoundness if the `clone` implementation make…

  • Low —

    PyO3 Risk of buffer overflow in `PyString::from_object`

    `PyString::from_object` took `&str` arguments and forwarded them directly to the Python C API without checking for terminating nul bytes. This could lead the Python interpreter to read beyond the end of the `&str` data and potentially leak contents of the out…

  • Low —

    array-init-cursor is unsound when used with types that implement `Drop`

    The `Drop` implementation will get run twice when using the cursor. This issue does not affect you, if you are using only using the crate with types that are `Copy` such as `u8`. This issue also does not affect you, if you are only depending on it through the…

  • Low 2.7

    tough cyclic delegation graphs are not detected

    ## Summary In a TUF repository, the targets role’s signature indicates which target files are trusted by clients. The role can delegate full or partial trust to other roles, meaning that that role is trusted to sign target file metadata. Delegated roles can f…

  • Low 2.1

    Zincati allows unprivileged access to rpm-ostree D-Bus `Deploy()` and `FinalizeDeployment()` methods

    Zincati is an auto-update agent for Fedora CoreOS hosts. Zincati ships a polkit rule which allows the `zincati` system user to use the actions `org.projectatomic.rpmostree1.deploy` to deploy updates to the system and `org.projectatomic.rpmostree1.finalize-dep…

  • Low —

    Fyrox has unsound usages of `Vec::from_raw_parts`

    The library provides a public safe API `transmute_vec_as_bytes`, which incorrectly assumes that any generic type `T` could have stable layout, causing to uninitialized memory exposure if the users pass any types with padding bytes as `T` and cast it to `u8` p…

  • Low —

    magic-crypt uses insecure cryptographic algorithms

    This crate uses a number of cryptographic algorithms that are no longer considered secure and it uses them in ways that do not guarantee the integrity of the encrypted data. `MagicCrypt64` uses the insecure DES block cipher in CBC mode without authentication.…

  • Low —

    xous has unsound usages of `core::slice::from_raw_parts`

    We consider `as_slice` and `as_slice_mut` unsound because: the pointer with any bit patterns could be cast to the slice of arbitrary types. The pointer could be created by unsafe new and deprecated `from_parts`. We consider that `from_parts` should be removed…

  • Low —

    Unsound usages of `std::slice::from_raw_parts`

    The library breaks the safety assumptions when using unsafe API `std::slice::from_raw_parts`. First, when using the API in iterator implementation (`TempFdArrayIterator.next`), generic type could be any type, which would create and pass a misaligned pointer t…

  • Low —

    linkme fails to ensure slice elements match the slice's declared type

    Affected versions allow populating a DistributedSlice of T with elements of an arbitrary other type that coerces to T. For example, elements of type `&&str` could end up in a slice of type `[&str]`, since `&&str` coerces to `&str` via a deref coercion. The fl…

  • Low —

    s2n-tls has undefined behavior at process exit

    ### Impact s2n-tls uses the Linux atexit function to register functions that clean up the global state when the process exits. In multi-threaded environments, the atexit handler may clean up state which is still in use by other threads. When this occurs, the …

  • Low —

    paillier-zk has ambiguous challenge derivation

    Challenge derivation in non-interactive ZK proofs was ambiguous and that could lead to security vulnerability (however, it's unknown if it could be exploited).

  • Low —

    cggmp21 vulnerable to ambiguous challenge derivation

    Challenge derivation in non-interactive ZK proofs was ambiguous and that could lead to security vulnerability (however, it's unknown if it could be exploited).

  • Low —

    cggmp21-keygen has ambiguous challenge derivation

    Challenge derivation in non-interactive ZK proofs was ambiguous and that could lead to security vulnerability (however, it's unknown if it could be exploited).

  • Low —

    `fast-float` has multiple soundness issues

    `fast-float` contains multiple soundness issues: 1. [Undefined behavior when checking input length](https://github.com/aldanor/fast-float-rust/issues/28), which has been merged but no package [pubished](https://github.com/aldanor/fast-float-rust/issues/35). 1…

  • Low —

    sp1 has insufficient observation of cumulative sum

    During proof generation, the prover must observe all values sent to the verifier to generate valid Fiat-Shamir challenges. Prior to v3.0.0 the cumulative sum of the permutation argument was not observed when sampling zeta, which is a random challenge sampled …

  • Low 2.3

    cap-std doesn't fully sandbox all the Windows device filenames

    The cap-std project is organized around the eponymous `cap-std` crate, and develops libraries to make it easy to write capability-based code. cap-std's filesystem sandbox implementation on Windows blocks access to special device filenames such as "COM1", "COM…

  • Low 2.3

    Wasmtime doesn't fully sandbox all the Windows device filenames

    Wasmtime is a fast and secure runtime for WebAssembly. Wasmtime's filesystem sandbox implementation on Windows blocks access to special device filenames such as "COM1", "COM2", "LPT0", "LPT1", and so on, however it did not block access to the special device f…

  • Low 2.9

    Wasmtime race condition could lead to WebAssembly control-flow integrity and type safety violations

    Wasmtime is an open source runtime for WebAssembly. Under certain concurrent event orderings, a `wasmtime::Engine`'s internal type registry was susceptible to double-unregistration bugs due to a race condition, leading to panics and potentially type registry …

  • Low —

    lexical-core has multiple soundness issues

    `RUSTSEC-2024-0377` contains multiple soundness issues: 1. [Bytes::read() allows creating instances of types with invalid bit patterns](https://github.com/Alexhuszagh/rust-lexical/issues/102) 1. [BytesIter::read() advances iterators out of bounds](https://git…

  • Low 2.5

    gix-path uses local config across repos when it is the highest scope

    gix-path is a crate of the gitoxide project dealing with git paths and their conversions. `gix-path` executes `git` to find the path of a configuration file that belongs to the `git` installation itself, but mistakenly treats the local repository's configurat…

  • Low 2.5

    gitoxide-core does not neutralize special characters for terminals

    gitoxide An idiomatic, lean, fast & safe pure Rust implementation of Git. gitoxide-core, which provides most underlying functionality of the gix and ein commands, does not neutralize newlines, backspaces, or control characters—including those that form ANSI e…

  • Low 3.0

    biscuit-rust vulnerable to public key confusion in third party block

    biscuit-rust is the Rust implementation of Biscuit, an authentication and authorization token for microservices architectures. Third-party blocks can be generated without transferring the whole token to the third-party authority. Instead, a ThirdPartyBlock re…

  • Low —

    XMP Toolkit's `XmpFile::close` can trigger undefined behavior

    Affected versions of the crate failed to catch C++ exceptions raised within the `XmpFile::close` function. If such an exception occurred, it would trigger undefined behavior, typically a process abort. This is best demonstrated in [issue #230](https://github.…

  • Low —

    The kstring integration in gix-attributes is unsound

    `gix-attributes` (in [`state::ValueRef`](https://github.com/Byron/gitoxide/blob/gix-attributes-v0.22.2/gix-attributes/src/state.rs#L19-L27)) unsafely creates a `&str` from a `&[u8]` containing non-UTF8 data, with the justification that so long as nothing read…

  • Low 2.9

    Usage of non-constant time base64 decoder could lead to leakage of secret key material in vodozemac

    vodozemac is an open source implementation of Olm and Megolm in pure Rust. Versions before 0.7.0 of vodozemac use a non-constant time base64 implementation for importing key material for Megolm group sessions and `PkDecryption` Ed25519 secret keys. This flaw …