Ecosystem
crates.io
2,056 known vulnerabilities.
Most affected packages
2,055 results · Feed
-
High 7.4
Zebra before 4.4.0 Consensus Split via SIGHASH_SINGLE Missing-Output Handling
Zebra before 4.4.0 contains a consensus divergence vulnerability in V5 transparent signature verification, computing a ZIP-244 digest for SIGHASH_SINGLE inputs lacking corresponding outputs instead of failing. Attackers can craft V5 transactions with fewer ou…
-
Low 3.7
Zebra before 4.5.0 CPU Amplification via Uncapped getblocks/getheaders Locator Length
Zebra before 4.5.0 contains an uncontrolled resource consumption vulnerability that allows remote P2P peers to exhaust blocking-pool threads by sending oversized block locator vectors. Attackers can send getblocks or getheaders messages with up to 65,535 loca…
-
High 7.4
Zebra 4.4.0 Consensus Divergence via V5 SIGHASH_SINGLE Without Output
Zebra zebrad 4.4.0 and zebra-script 6.0.0 fail to enforce a ZIP-244 consensus rule, accepting V5 transparent inputs signed with SIGHASH_SINGLE that lack a corresponding output. Attackers can broadcast crafted V5 transactions with more inputs than outputs that…
-
Medium 6.5
Zebra before 8.0.0 Denial of Service via z_listunifiedreceivers RPC
ZcashFoundation Zebra zebra-rpc before 8.0.0 and zebrad before 4.5.0 contain a reachable assertion in the z_listunifiedreceivers RPC handler, which calls expect() on Sapling receiver parsing that fails for Unified Addresses carrying invalid Jubjub points. Aut…
-
Unscored —
`pin-utils` is unmaintained
The [upstream repository] was archived on October 1, 2026, after the release of version 0.1.1. For local pinning, replace `pin_mut!` with [`core::pin::pin!`], available since Rust 1.68. For pin projection, replace `unsafe_pinned!` and `unsafe_unpinned!` with …
-
Low 3.7
Russh: Configured server auth-attempt cap is not enforced in the USERAUTH_REQUEST runtime path
Russh is a Rust SSH client and server library. Prior to 0.62.6, the USERAUTH_REQUEST path reached from server::run_stream in russh/src/server/encrypted.rs increments self.common.auth_attempts but never compares it with server::Config.max_auth_attempts. An una…
-
Medium 4.3
Russh: Missing X25519 zero-point validation in hybrid ML-KEM key exchange
Russh is a Rust SSH client and server library. Prior to 0.63.0, the hybrid ML-KEM 768 and X25519 implementation in russh/src/kex/hybrid_mlkem.rs accepts an all-zero 32-byte peer X25519 public key in both server_dh and compute_shared_secret, forcing the X25519…
-
High 7.5
russh: Client-side channel-scoped Handler callbacks fire for channel IDs the client never opened
Russh is a Rust SSH client and server library. Prior to 0.63.1, client_read_authenticated in russh/src/client/encrypted.rs forwards CHANNEL_DATA, CHANNEL_EXTENDED_DATA, CHANNEL_EOF, CHANNEL_CLOSE, CHANNEL_OPEN_FAILURE, CHANNEL_SUCCESS, CHANNEL_FAILURE, and CH…
-
Low 3.7
russh: negotiating a MAC-requiring block cipher (CTR/CBC) with mac=none causes a slice-index-out-of-range panic
Russh is a Rust SSH client and server library. Prior to 0.63.1, a connection configured to permit mac=none can negotiate it with a MAC-requiring CTR or CBC block cipher because the selection logic validates needs_mac() only when MAC selection fails. A remote …
-
Medium 6.5
Russh: Unbounded memory exhaustion via CHANNEL_OPEN flood during a client-stalled rekey
Russh is a Rust SSH client and server library. Prior to 0.63.2, an authenticated remote peer can send SSH_MSG_KEXINIT without the required SSH_MSG_KEX_ECDH_INIT and then flood SSH_MSG_CHANNEL_OPEN messages while SessionKexState::InProgress prevents priority_r…
-
Medium 6.2
pageant: Out-of-bounds read / oversized allocation in `pageant` MemoryMap::read via a malicious Pageant agent (Windows)
pageant provides a [PageantStream] type that implements [AsyncRead] and [AsyncWrite] traits and can be used to talk to a running Pageant instance. Prior to pageant 0.2.3, the Windows pageant crate's pageant/src/wmmessage.rs MemoryMap::read function trusts a p…
-
Unscored —
Sending custom to-device messages may panics
Using the `IdentityBasedStrategy` setting when calling `Device::encrypt_event_raw` or `OlmMachine::encrypt_content_for_devices` may cause a panic if the recipient does not have cross-signing keys.
-
Medium 5.5
A 512-byte workbook can provoke a multi-gigabyte allocation and abort the process
Affected versions passed caller-supplied bytes to `calamine`'s `Xlsx::new` without first checking that they were a ZIP archive. `Xlsx::new` tests for password protection on its first line, which parses the input as an OLE/CFB container, and a sector-count fie…
-
Unscored —
Hybrid Encapsulation from Seed Panics on Short Seed
For a hybrid KEM public key of type `PublicKey::WingKemDraft06` or `PublicKey::X25519MlKem768Draft06`, the `PublicKey::encapsulate_derand` function would panic in an indexing operation on a seed input of length shorter than 32 bytes. # Impact Applications enc…
-
Unscored —
Stack overflow on deeply nested LaTeX input
The parser and layout engine in affected versions of `latex-rust` recurse once per level of nesting with no limit. Deeply nested input, such as `\frac{1}{…}`, braces, `\sqrt{…}`, `\left(`, or superscripts nested hundreds or thousands of levels deep, exhausts …
-
Unscored —
`basic-toml` is unmaintained
The last release was on March 3, 2025, the day after the repository was archived and marked as unmaintained. ## Possible alternatives - [toml](https://crates.io/crates/toml)
-
Unscored —
Various panics, soundness and resource exhaustion issues
Version 0.12.3 fixes a large number of panics, soundness issues, and CPU and memory exhaustion issues in all parts of the crate. The following is a summary of the issues per affected components. For details, please see the [release notes](https://github.com/N…
-
High 8.1
DNS rebinding vulnerability in rojo serve HTTP API
Rojo's "rojo serve" HTTP API (default port 34872) has no Host/Origin header validation, making it vulnerable to DNS rebinding. A malicious webpage can read all project source, write malicious code to files on disk, and launch local programs via opener::open()…
-
Medium —
yara-x: Unvalidated deserialization in safe `Rules::deserialize` allows memory corruption and UB
> [!NOTE] > This finding was identified during an agentic unsafe Rust code review performed by Gemini AI, followed by human review and verification. ## The Issue The crate exports a public safe API [`Rules::deserialize`](https://github.com/VirusTotal/yara-x/b…
-
High 7.4
Excluded iPAddress name constraints with an all-zero mask are not applied
An `excluded_subtrees` iPAddress name constraint with an all-zero mask (`0.0.0.0/0` or `::/0`) does not restrict iPAddress SANs in certificates issued beneath it. The mask check treated an all-zero mask as matching nothing, when a `/0` prefix matches every ad…
-
Unscored —
Use-after-free in interned values and cached function results
When an application reads an interned value's fields or uses that value as an input to a tracked function, Salsa must ensure that reusable storage has been validated for the current database revision. This prevents the value's fields and associated cached fun…
-
High 7.8CVE-2026-96889 Public exploit
Librsvg: use-after-free when xml includes have duplicated entities
A flaw was found in librsvg. When processing an SVG document containing nested XML inclusions (Xincludes) with duplicate entity declarations, a use-after-free error can occur. This vulnerability arises because the library incorrectly frees an XML entity that …
-
Unscored —
Build environment compiled into the library and readable at runtime
The build script of `rustpython-vm` 0.3.0 through 0.5.0 writes every environment variable of the build into `$OUT_DIR/env_vars.rs`. The crate compiles that file into `_sysconfigdata`'s `build_time_vars`. That module is always compiled. A binary built in CI wi…
-
High 7.1
`uncbv`: archive extraction is vulnerable to path traversal (zip-slip)
### Summary `uncbv extract` writes each archive entry to `output_dir.join(entry_filename)` using the filename stored in the archive with no check for `..` components or absolute paths. A malicious `.cbv` / `.cbz` archive whose entry name contains `../` (or an…
-
Unscored —
`stack-graphs` is archived and unmaintained
The upstream repository [github/stack-graphs](https://github.com/github/stack-graphs) has been archived. Issues and pull requests are disabled, so maintainers cannot be reached there. The last crates.io release is 0.14.1 (2024-12-13). The repository's last pu…
-
Unscored —
`stack-graphs` C API exports are safe `extern "C"` functions
`stack_graphs::c` is a public module. From 0.0.3 through the current crates.io release 0.14.1, its pointer-taking entry points are `pub extern "C" fn` rather than `unsafe fn`. Safe Rust can call them. `sg_stack_graph_free` frees the pointer with `Box::from_ra…
-
Unscored —
Double free in `StackVec::retain` when a predicate or element `Drop` panics
## Summary `StackVec::retain` committed its new length to `self.len` only after its internal loop completed. If the retain predicate or a removed element's `Drop` implementation panicked before the loop finished, unwinding proceeded with `self.len` still equa…
-
Unscored —
`owned-alloc` is unmaintained
The `owned-alloc` crate has had no release since 2018, and the maintainer has not responded to the upstream issue or to direct contact.
-
Unscored —
Finished streaming calls keep reading a stalled request body indefinitely
Affected versions of `connectrpc` start a background task to read the request body of every client-streaming and bidirectional-streaming call, before the interceptors or the handler run. A call can finish before it has consumed its request: the handler can re…
-
Unscored —
`unzip` is unmaintained
The [unzip](https://crates.io/crates/unzip) crate has only ever released a single version, `0.1.0` (published 2017-12-23), and has seen no further activity. It appears to be unmaintained, and its known path-traversal ("zip-slip") vulnerability will not be fix…
-
Unscored —
Double free / use-after-free in `Consumer::skip` and `Consumer::clear` when an element's `Drop` panics
`Consumer::skip()` and `Consumer::clear()` are not panic-safe. They drop the consumed elements in place and only afterwards call `advance_read_index()` to move the ring buffer's read index past them. If an element's `Drop` panics mid-loop, `advance_read_index…
-
Low 1.0
Unsoundness in UTF-8 'String' trait
In Eclipse iceoryx2 versions greater than v0.8.0, the StaticString exposes its contents as mutable bytes through safe APIs, while String::as_str() converts those bytes into a Rust string slice without validating UTF-8. An application can therefore create an i…
-
Unscored —
`SinglyLinkedList::remove` dereferences a null link
In versions before 0.2.1, `SinglyLinkedList::remove` is safe and walks the intrusive list with an unchecked dereference. On an empty list, or when `node` is not in the list, `(*current_elm).next` reads a null pointer. That is undefined behavior. The list head…
-
Unscored —
`hex_decode_unchecked` AVX2 path reads past `src`
`faster_hex::hex_decode_unchecked` is a safe function. On x86 and x86_64, when AVX2 is enabled, `hex_decode_avx2` keeps decoding while `dst.len() >= 32` and then loads 32 bytes from `src` and 32 bytes from `src[32..]`. Nothing in that loop requires `src` to c…
-
High 7.1
`decompress`: tar-family extractors write archive entries without a path-traversal check (tar-slip)
The tar-family extractors in `decompress` (`.tar`, `.tar.gz`, `.tar.xz`, `.tar.bz2`, `.tar.zst`) build each output path from the **raw archive entry path** and write to it with no traversal check, so a malicious archive can write files **outside** the destina…
-
Medium 6.5
microsandbox: Secret values exposed in world-readable process arguments
microsandbox is an easy, fast, local-first microVM runtime and library. Prior to 0.5.10, sdk/rust/lib/runtime/spawn.rs serializes NetworkConfig secret values into the --network-config argument and passes per-sandbox secrets through repeated --env arguments ac…
-
High 7.5
hickory-resolver before 0.26.2 DNSSEC Validation Bypass
hickory-resolver versions before 0.26.2 fail to propagate bogus DNSSEC proof states through the Resolver::lookup() and Resolver::lookup_ip() APIs, allowing invalid records to be returned as successful results. Attackers controlling the answering zone or posit…
-
Medium 4.4
rustls-webpki before 0.103.10 CRL Revocation Check Bypass
rustls-webpki versions before 0.103.10 and 0.104.0-alpha.5 contain faulty CRL authority-matching logic that compares only the first distributionPoint against each CRL's IssuingDistributionPoint, ignoring additional distributionPoints. Attackers with a comprom…
-
Low 2.2
rustls webpki 0.101.0 before 0.103.12 Name Constraint Bypass
rustls-webpki (the Rust webpki fork used by rustls) versions >= 0.101.0 and prior to 0.103.12 and 0.104.0-alpha.6 incorrectly accepted permitted-subtree DNS name constraints for certificates asserting a wildcard name. For example, a name constraint of accept.…
-
High 7.5
rustls-webpki before 0.103.13 Panic via empty BIT STRING
rustls-webpki through 0.103.12 (and 0.104.0-alpha releases before 0.104.0-alpha.7) contains a reachable panic in bit_string_flags() in src/der.rs. The input guard fails to reject a named-bit BIT STRING whose content is exactly [0x00] (zero padding bits and no…