Skip to content
OpenAdvisories

Ecosystem

crates.io

2,056 known vulnerabilities.

2,055 results · Feed

  • High 7.5

    gitoxide before 0.69.0 Denial of Service via gix-pack

    gitoxide before 0.69.0 contains unchecked array indexing in delta application and uncapped allocation from attacker-controlled size headers in gix-pack. Attackers can send crafted pack data during clone or fetch operations to trigger panics or out-of-memory p…

  • Medium 6.8

    gitoxide 0.25.4 HTTP Credential Leak via Redirect

    gitoxide versions from 0.25.4 contain an HTTP credential leak vulnerability in the curl-based transport backend where credentials are sent to attacker-controlled servers after HTTP redirects. The vulnerability occurs because credential validation checks the o…

  • High 7.5

    gitoxide before 0.82.0 Path Traversal via Submodule Name Validation Bypass

    gitoxide (Rust crates gix <= 0.72.0 and gix-validate <= 0.10.0) contains a path traversal vulnerability. The submodule name validation function in gix-validate only checks the first occurrence of '..' via name.find(b".."), allowing crafted names such as 'a..b…

  • High 7.5

    gitoxide before 0.52.1 Path Traversal via Submodule Name

    gitoxide before 0.52.1 fails to validate submodule names from .gitmodules configuration, allowing path traversal when deriving submodule git directories. Attackers can craft malicious submodule names with traversal segments to redirect state() and open() func…

  • High 7.5

    gitoxide before 0.52.1 Repository Boundary Violation via symlinked .gitmodules

    gitoxide before 0.52.1 follows symlinks when reading the worktree .gitmodules file, allowing attackers to inject out-of-repository bytes into submodule metadata. Attackers can create a malicious repository with a symlinked .gitmodules pointing outside the rep…

  • Medium 6.5

    gitoxide gix-packetline before 0.21.5 Denial of Service

    gitoxide gix-packetline versions before 0.21.5 contain a panic vulnerability in the TextRef implementation that occurs when processing side-band packet lines with empty payloads. A malicious Git server can send a crafted side-band packet to trigger an index o…

  • Unscored —

    Panic-safety unsoundness in `Stack::pop`, `Fifo::pop_front` and `Value::replace_stable` (use-after-free / double-free)

    Three removal and replacement paths destroy an initialized value before committing the metadata change that removes it. Destruction runs `T::drop()`, which is user code and may panic. If it does, the commit is skipped and the container still claims ownership …

  • High 7.5

    Nimiq: Validity store off by one error

    Nimiq is a Rust implementation of the Nimiq Proof-of-Stake protocol based on the Albatross consensus algorithm. Through 1.5.0, the validity store uses a strict lower-bound comparison that expires a stored transaction too early relative to Transaction::is_vali…

  • Unscored —

    Double free in `Map::into_iter` and an uninitialized `Arc` in `SharedIncin::clear`

    Two independent soundness problems, both reachable from safe Rust. `Map::into_iter` drops `builder` (the caller-supplied hasher `H`) and `incin` by hand, then commits the ownership transfer with `mem::forget(self)`. `H::drop` is user code and may panic. If it…

  • Unscored —

    Path traversal in apimock's file-serving fallback

    The file-serving fallback joined a request-derived path onto the configured response directory and checked only that the result existed, never that it stayed inside that directory. A request containing a raw `..` segment could read any file readable by the pr…

  • Medium 5.6

    mediasoup: SCTP state cookie lacks cryptographic authentication, enabling unauthorized association establishment (RFC 9260 violation)

    mediasoup is a WebRTC video conferencing system. From version 3.20.0 until 3.20.6 for the npm package and from 0.22.0 until 0.22.5 for the Rust crate, mediasoup's built-in SCTP stack authenticates state cookies using only the hardcoded msworker and 0xAD81 mag…

  • Medium —

    vibeio-http has a DoS vulnerability in HTTP/1.x chunked encoding parser triggered by maliciously crafted chunk lengths

    When using the affected versions of the `vibeio-http` crate, an attacker could craft a malicious HTTP/1.x request with a large chunk length (between `usize::MAX - 1` and `usize::MAX` inclusive) and send it, causing the server to crash (integer overflow panic …

  • Medium —

    tokio-postgres: Panic on a `DataRow` with fewer fields than columns allows denial of service

    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-pani…

  • Medium —

    postgres-protocol: Panic decoding a malformed `hstore` value allows denial of service

    A malicious or compromised server can return a binary `hstore` value with an invalid internal length field, causing the client to panic while decoding it. Applications that connect only to a trusted database are not exposed; the risk applies to clients that m…

  • High —

    postgres-protocol: Unbounded SCRAM iteration count allows a malicious server to cause CPU-exhaustion denial of service

    A malicious, compromised, or man-in-the-middle server can supply an arbitrarily large SCRAM-SHA-256 PBKDF2 iteration count during authentication. The client runs it inline with no upper bound, pinning a `tokio` worker thread for minutes per connection, possib…

  • Unscored —

    Rejected authentication challenges can poison the Key Vault scope cache

    Affected versions of `KeyVaultAuthorizer::on_challenge` cache the authentication scope from a `WWW-Authenticate` response before verifying that the challenge resource matches the requested endpoint. When verification rejects the challenge, the scope remains c…

  • Unscored —

    Rejected authentication challenges can poison the Key Vault scope cache

    Affected versions of `KeyVaultAuthorizer::on_challenge` cache the authentication scope from a `WWW-Authenticate` response before verifying that the challenge resource matches the requested endpoint. When verification rejects the challenge, the scope remains c…

  • Unscored —

    Rejected authentication challenges can poison the Key Vault scope cache

    Affected versions of `KeyVaultAuthorizer::on_challenge` cache the authentication scope from a `WWW-Authenticate` response before verifying that the challenge resource matches the requested endpoint. When verification rejects the challenge, the scope remains c…

  • Unscored —

    Panic on Decoding Short Hybrid Keys

    The deserialization functions `X25519MlKem768Draft00PrivateKey::decode` `X25519MlKem768Draft00PublicKey::decode` and `XWingKemDraft06PublicKey::decode` would panic during an indexing operation when provided an input slice that is shorter than the length of th…

  • Unscored —

    Panic-safety unsoundness in `BitVecCore::clear` (double-free / use-after-free)

    `BitVecCore::clear` drops every occupied element with `drop_in_place` and only afterwards clears the occupancy bits and resets `len`. If an element's `Drop` panics, those metadata updates are skipped, so the slot of the already-dropped element stays marked as…

  • Medium 6.9

    ratex-parser has unbounded parser recursion that leads to stack overflow (process abort)

    RaTeX is a KaTeX-compatible math rendering engine written in Rust. Prior to version 0.1.11, RaTeX’s recursive-descent parser recurses one (or more) native stack frame per nesting level at `{`, `\left`, `\sqrt{`, `^{`, etc, with no maximum depth limit. A short…

  • High 8.7

    ratex-parser panics on `\verb` with a multibyte delimiter (UTF-8 byte-boundary slice)

    RaTeX is a KaTeX-compatible math rendering engine written in Rust. Prior to version 0.1.11, the public parser entrypoint `ratex_parser::parse(&str)` panics on the 9-byte input `\verbéxé` (i.e. `\verb` followed by the non-ASCII delimiter `é`). When handling a …

  • Medium —

    Zoo Design Studio: Memory-corruption in memory handling of lib-kcl

    A race condition in kcl-lib can result in a use-after-free when accessing environments concurrently. During Vec reallocation, the previous buffer containing Box pointers is freed and replaced. A concurrent get_env operation that has already loaded a pointer t…

  • Medium —

    Zoo Design Studio: Recursive KCL parsing is vulnerable to denial-of-service

    ### Impact Feeding a KCL program that wraps an expression in deep, unnecessary parentheses triggers the parser’s recursive `expression` -> `unnecessarily_bracketed` -> `expression` path. With enough nesting, the call stack grows until it exceeds the process s…

  • Medium 5.1

    Windmill: Resource-scoped API tokens can read script contents outside their allowed path via scripts/list_search

    Windmill is an open-source developer platform for internal code: APIs, background jobs, workflows and UIs. Prior to 1.715.0, a resource-scoped API token could read script contents outside its allowed path scope through GET /api/w/{workspace}/scripts/list_sear…

  • Medium 6.9

    Hurl: Cookies in Cookies section leak when redirecting to a different host

    Hurl is a command line tool that runs and tests HTTP requests defined in plain text files. In version 8.0.1 and earlier, the redirect handling in packages/hurl/src/http/client.rs strips Authorization and Cookie headers and basic-auth credentials when a redire…

  • Critical 9.0

    Paths or symlinks ending in a slash escape the sandbox

    cap-primitives resolves a path inside a sandboxed directory one component at a time and opens the last component with `O_NOFOLLOW`, so that a symlink there cannot lead out of the directory. When the path ended in `/`, the resolver added the slash back to the …

  • Unscored —

    `internment` 0.8.7 was removed from crates.io due to a malicious dependency

    A new version of the `internment` crate was published with a direct dependency on `proc-macro1`, which would execute a malicious build script. The compromised version of this crate was published on 2026-08-20, and was removed approximately 90 minutes later. T…

  • Unscored —

    `proc-macro1` was removed from crates.io due to malicious code

    It was reported `proc-macro1` contained a build script that would download a malicious payload. This crate had two versions, both published on 2026-08-20. The crate was removed from crates.io and related user accounts were locked. This crate was used as part …

  • Unscored —

    `proc-macro-en` was removed from crates.io due to malicious code

    We identified that `proc-macro-en` contained the same build script as `proc-macro1` and it was part of the same supply chain attack. This crate had one single version published at 2026-08-20. The crate was removed from crates.io and related user account was l…

  • Unscored —

    `tinymember` was removed from crates.io due to affiliation with malicious code

    While `tinymember` did not directly contain malicious code, it was owned by the same user as `arone` and `aronenao`, which contained suspicious build scripts. This crate had 2 versions published on 2026-08-18 that had a total of 27 downloads. There were no cr…

  • Unscored —

    `append-only-vec` 0.1.9 was removed from crates.io due to a malicious dependency

    A new version of the `append-only-vec` crate was published with a direct dependency on `proc-macro1`, which would execute a malicious build script. The compromised version of this crate was published on 2026-08-20, and was removed approximately 107 minutes la…

  • Unscored —

    `aronenao` was removed from crates.io due to malicious code

    We identified that `aronenao` contained malicious code executed through a build script. This crate had 11 versions, with the most recent one being published at 2026-08-18. The crate was removed from crates.io and the user account was locked. This crate was us…

  • Unscored —

    `arrayref` 0.3.10 was removed from crates.io due to a malicious dependency

    A new version of the `arrayref` crate was published with a direct dependency on `proc-macro1`, which would execute a malicious build script. This compromised version was published on 2026-08-20 and removed approximately 86 minutes later. It was downloaded 2,2…

  • Unscored —

    `arone` was removed from crates.io due to malicious code

    We identified that `arone` contained malicious code executed through a build script. This crate had 7 versions, with the most recent one being published at 2026-08-18. The crate was removed from crates.io on 2026-08-20 and the user account was locked. This cr…

  • Medium —

    block_buffer: panic corrupts inline buffer position

    ### Summary A caught panic may leave the cursor position of `EagerBuffer` or `ReadBuffer` in a corrupted state; this in turn allows out-of-bounds reads/writes. ### Details & PoC The following two tests fail miri: ```rust #[cfg(miri)] #[test] fn eager_digest_b…

  • High 7.3

    jxl-oxide: Out-of-bounds writes due to integer overflow in jxl-grid on 32-bit platforms

    jxl-oxide is a pure Rust implementation of a JPEG XL decoder. Prior to jxl-grid 0.6.2, decoding a crafted JPEG XL image on a 32-bit platform can overflow length calculations in AlignedGrid::with_alloc_tracker and related grid and subgrid arithmetic. A 65536 x…

  • High 7.5

    libcrux before 0.0.6 Cryptographic Implementation Bug Fixes

    libcrux-ecdh and libcrux-ed25519 before 0.0.6, and libcrux-psq before 0.0.7, contain cryptographic implementation bugs. libcrux-ecdh did not properly check length and clamping during X25519 secret validation (and had a broken clamping check for imported X2551…

  • Medium —

    Triton VM Soundness Vulnerability due to Missing Constraint

    The instruction `sponge_absorb_mem` Triton VM fails to verify that hashed values come from the claimed memory location. Malicious provers can substitute arbitrary data instead of actual memory contents. Any application using instruction `sponge_absorb_mem` to…

  • High 7.5

    ZEBRA: IPv4-Mapped Mempool Misbehavior Update Aborts Zebra Address Book

    ZEBRA is a Zcash node written entirely in Rust. Prior to 4.5.0, an unauthenticated IPv4 peer can deterministically terminate a synced Zebra node using the default Linux dual-stack listener configuration. The handshake path canonicalized an IPv4-mapped IPv6 Pe…