Ecosystem
crates.io
2,056 known vulnerabilities.
Most affected packages
2,055 results · Feed
-
Low 2.2
rustls webpki Name Constraints URI Validation Bypass
rustls-webpki (rustls/webpki) versions 0.101.0 through 0.103.11 and 0.104.0-alpha releases before 0.104.0-alpha.6 ignore X.509 name constraints that apply to URI names, causing such constraints to be accepted rather than enforced. Because name constraints are…
-
High 7.5
Fulgur: Unbounded page slicing from attacker-controlled CSS height causes denial of service
`fulgur` converts untrusted HTML/CSS into PDF, commonly on a server that processes input supplied by many tenants. In versions prior to 0.19.0, a body-direct child whose CSS-resolved height greatly exceeds the page height was sliced into one fragment per page…
-
High 7.5
Fulgur: Unbounded page slicing from attacker-controlled CSS height causes denial of service
`fulgur` converts untrusted HTML/CSS into PDF, commonly on a server that processes input supplied by many tenants. In versions prior to 0.19.0, a body-direct child whose CSS-resolved height greatly exceeds the page height was sliced into one fragment per page…
-
Unscored —
pqc_kyber is unmaintained
The crate has had no releases since 0.7.1 (2023-08-23), and the upstream repository shows no maintainer activity. Open pull requests, including a fix for a chosen-ciphertext key-recovery flaw in the AVX2 backend (Argyle-Software/kyber#121), have gone unanswer…
-
Unscored —
cosmian_kyber is unmaintained
`cosmian_kyber` is a fork of `Argyle-Software/kyber` that has seen no maintainer activity. It inherits the fork parent's broken AVX2 constant-time code, and the open fix pull request (Cosmian/kyber#6) has gone unanswered. Recommended alternatives: - [aws-lc-r…
-
Medium 6.8
RMCP: Custom HTTP headers leak to cross-origin redirect targets
RMCP is an official Rust SDK for the Model Context Protocol. Prior to 2.1.0, the rmcp crate's StreamableHttpClientTransport in crates/rmcp/src/transport/common/reqwest/streamable_http_client.rs builds its default_http_client with reqwest's automatic redirect …
-
High 8.2
RMCP: Missing Resource Field Validation in OAuth Protected Resource Metadata Discovery
RMCP is an official Rust SDK for the Model Context Protocol. Prior to 2.0.0, the rmcp crate's OAuth implementation in crates/rmcp/src/transport/auth.rs omits the RFC 9728 resource field from ResourceServerMetadata and allows discover_oauth_server_via_resource…
-
High 7.5
RMCP: Unauthenticated permanent session-table leak in rmcp Streamable HTTP server transport leads to remote denial-of-service
RMCP is an official Rust SDK for the Model Context Protocol. Prior to 2.0.0, the rmcp crate's stateful Streamable HTTP server in crates/rmcp/src/transport/streamable_http_server/tower.rs allows an unauthenticated client to send a well-formed JSON-RPC POST tha…
-
Unscored —
Out-of-bounds read when decoding CKA_ALLOWED_MECHANISMS
`cryptoki` treated the CKA_ALLOWED_MECHANISMS ulValueLen byte count as a CK_MECHANISM_TYPE element count. A valid nonempty attribute returned through the safe `Session::get_attributes` API could cause construction of an out-of-bounds slice and undefined behav…
-
High 8.2
libp2p-quic: Remote panic via certificate expiry race during QUIC handshake
libp2p-rust is the official Rust language implementation of the libp2p networking stack. Prior to 0.13.1, libp2p-quic could panic during an inbound QUIC handshake when a remote peer presented a valid short-lived libp2p TLS certificate and delayed the final TL…
-
Medium 6.1
tract-nnef: integer overflow in NNEF `.dat` tensor parser yields an out-of-bounds read on model load
Tract is a tiny, no-nonsense, self-contained TensorFlow and ONNX inference toolkit. Prior to 0.21.16, 0.22.2, and 0.23.1, tract-nnef uses unchecked usize multiplication in nnef/src/tensors.rs read_tensor for attacker-controlled tensor dimensions, the allocati…
-
Medium 6.1
Tract: Arbitrary file read via unsanitized ONNX external_data `location` (path traversal) on model load in tract-onnx
Tract is a tiny, no-nonsense, self-contained TensorFlow and ONNX inference toolkit. Prior to 0.21.17, 0.22.3, and 0.23.2, the tract-onnx crate passes the attacker-controlled external_data location from an ONNX model through onnx/src/tensor.rs get_external_res…
-
Low 3.7
Nimiq: Panic in TrieProof::verify via child_index unwrap on equal-length keys
Nimiq is a Rust implementation of the Nimiq Proof-of-Stake protocol based on the Albatross consensus algorithm. Prior to 1.6.0, a malicious state-sync peer can crash a syncing node by sending a crafted TrieChunk proof containing two TrieProofNode values with …
-
Low 3.7
Nimiq: Out-of-bounds panic in KeyNibbles::Add from oversized child suffix in a deserialized proof
Nimiq is a Rust implementation of the Nimiq Proof-of-Stake protocol based on the Albatross consensus algorithm. Prior to 1.6.0, a malicious state-sync peer can crash a syncing node by sending a crafted TrieChunk whose proof contains a TrieNodeChild suffix tha…
-
Medium 6.8
gix-sec safe.directory protections absent for elevated administrators
gitoxide is an implementation of git written in Rust. Prior to 0.13.3, the gix-sec crate on Windows incorrectly treats repositories controlled by another user as trusted when an administrator runs a dependent program with an unfiltered elevated token. In gix-…
-
High 7.5
Outgoing datagram buffer accounting can panic the sender in quinn-proto
The limit on memory used to buffer outgoing datagrams, introduced in 0.11.17, subtracted an evicted datagram's size from the buffered byte counter twice when `Datagrams::send` was called with `drop = true` (as `Connection::send_datagram` in the `quinn` crate …
-
High 7.5
Peer minimum ACK delay can panic quinn-proto when ACK_FREQUENCY transmission is enabled
When sending ACK_FREQUENCY frames is enabled through `TransportConfig::ack_frequency_config(Some(..))`, the peer's transport parameters could cause `AckFrequencyState::candidate_max_ack_delay` to call `Duration::clamp` with a minimum greater than its maximum,…
-
Unscored —
Remote peer can panic quinn-proto with zero-length STREAM frames during unordered reads
When a stream is read in unordered mode (for example through `RecvStream::read(false)` in quinn-proto or `read_unordered` in `quinn`), quinn-proto proactively deduplicates received data by recording received ranges in a `RangeSet` through its `replace` method…
-
Unscored —
clear_on_drop is unmaintained
This crate is no longer maintained. Use the [zeroize](https://crates.io/crates/zeroize) crate instead. * Instead of `ClearOnDrop`, use `Zeroizing` * Instead of `clear_stack`, use `zeroize_stack`
-
Unscored —
Use-after-free when a future's `Drop` panics while the container is dropped
`Storage::clear` walks the slab, empties each entry and frees the `Task` allocation once its reference count reaches zero. `self.tasks.set_len(0)` only runs after the loop. Emptying an entry drops the user future it holds, and `T` carries no bounds excluding …
-
Medium 6.9
Matrix Rust SDK: Sender-binding gaps in to-device and room-key attribution
matrix-sdk-crypto is a no-network-IO implementation of a state machine that handles end-to-end encryption for Matrix clients. Starting in version 0.12.0 and prior to version 0.17.0, the matrix-sdk-crypto crate was missing a check for the user ID when decrypti…
-
Medium 4.9
matrix-sdk-ui: Incomplete edit validation
matrix-sdk-ui provides GUI-centric utilities on top of matrix-rust-sdk. The message edit validation logic in the `matrix-sdk-ui` crate prior to 0.17.0 is missing a check: when replacing an encrypted event, the replacement event itself is not required to be en…
-
High 7.5
mistral.rs: Unbounded Remote Media Fetch and Video Frame Expansion DoS
## Unbounded Remote Media Fetch and Video Frame Expansion DoS ### Summary The `POST /v1/chat/completions` endpoint in mistral.rs fetches attacker-supplied media URLs (image, audio, video) into server memory with no byte limit, and extracts every frame of a su…
-
High 7.2
mistral.rs Media Loader: Unauthenticated SSRF and arbitrary local file read via image_url
### Summary mistral.rs fetches any request-supplied image/audio URL with no host or IP validation, and opens arbitrary local files (a `file://` URL, or any existing relative/absolute path). A remote, unauthenticated client of any vision/audio deployment can c…
-
Medium 5.4
Rattler vulnerable to package cache path traversal via conda package build string
Rattler is a library that provides common functionality used within the conda ecosystem. `rattler_cache` prior to version 0.9.0 and `py-rattler` prior to version 0.24.0 were vulnerable to package-cache path traversal when handling package metadata from conda …
-
Unscored —
`unzip`: archive extraction is vulnerable to path traversal (zip-slip)
### Summary `Unzipper::unzip` extracts each archive entry to a path built from the entry's **raw, attacker-controlled name** without any traversal check. A ZIP archive whose entry names contain `../` components (or an absolute path) can therefore cause files …
-
Unscored —
Double free in `OwnedAlloc::drop_in_place` when the contained value's `Drop` panics
`OwnedAlloc::drop_in_place` destroys the contained value by hand, then commits the ownership transfer with `mem::forget(self)` — which lives inside `into_raw` and so runs only after the destruction. `T::drop` is user code and may panic. If it does, the forget…
-
Unscored —
Double free in `AlignedBox<[T]>::realloc_with_default` when an element's `Drop` panics
Shrinking an `AlignedBox<[T]>` takes ownership of the buffer out of `self.container` with `ManuallyDrop::take`, destroys the elements past the new length, and only then commits the new `Box` back into `self.container`. `ManuallyDrop::take` moves ownership but…
-
Unscored —
`WaveFormat::parse` reads past the end of a `&WAVEFORMATEX`
`WaveFormat::parse` is a safe function that takes a `&WAVEFORMATEX`, which is only valid for reads of `size_of::<WAVEFORMATEX>()` (18) bytes. When the header has `wFormatTag == WAVE_FORMAT_EXTENSIBLE` and `cbSize >= 22`, the function reinterprets the referenc…
-
Unscored —
`greentic-setup` 1.3.1-dev.34027618345 was removed from crates.io due to containing malicious code
A new version of the `greentic-setup` crate was published with a variant of the PolinRider malware included that would fire when a project depending on `greentic-setup` was opened in Visual Studio Code. One malicious version was published on 2026-09-06, appro…
-
Unscored —
`greentic-setup-dev` 1.3.34027618345 was removed from crates.io due to containing malicious code
A new version of the `greentic-setup-dev` crate was published with a variant of the PolinRider malware included that would fire when a project depending on `greentic-setup-dev` was opened in Visual Studio Code. One malicious version was published on 2026-09-0…
-
Unscored —
Double free / use-after-free in `Chunk` and `InlineArray` removal methods when an element's `Drop` panics
`Chunk::{clear, drop_left, drop_right}` and `InlineArray::{clear, truncate}` drop the removed elements before updating the metadata that records which slots hold live values — the `left`/`right` index pair for `Chunk`, the length field for `InlineArray`. If a…
-
Unscored —
Panic when an SVCB or HTTPS parameter value is a single quote character
When an SVCB or HTTPS record is parsed from its text (zone file) form, surrounding double quotes are removed from each service parameter value by checking that the value starts and ends with `"` and slicing off the first and last character. A value that is a …
-
Unscored —
Panic on a malformed `alpn` value when parsing SVCB or HTTPS records from text
When an SVCB or HTTPS record is parsed from its text (zone file) form, the `alpn` service parameter value is split into a list of protocol names. That step called `expect` on the result, on the assumption that it could not fail. A malformed value, such as one…
-
Unscored —
Integer underflow when reporting a malformed TSIG record
When a TSIG record is decoded from the DNS wire format, its MAC length and "other data" length are checked against the end of the record data. If a check failed, the error value was built from `end_idx - decoder.index()`. For a malformed record the decoder ca…
-
Unscored —
Memory amplification from record counts in the DNS message header
When a DNS message is decoded, the vectors for the question, answer, authority and additional sections were created with `Vec::with_capacity` set to the counts in the message header. Those counts come from the sender and are not checked against the size of th…
-
Medium 6.3
async-tar PAX extension-header desync enables tar entry/content smuggling
async-tar is a tar archive reading/writing library for async Rust. Prior to version 0.6.1, async-tar mis-applies a buffered PAX size extension to an intermediary extension header (a GNU longname L, a GNU longlink K, or a PAX x/g header) instead of to the next…
-
Unscored —
Use-after-free in `clear` and `retain` when an element's `Drop` panics
`SkipList::clear` drops the node chain and only then resets `tail` and `len`. The drop runs each element's `Drop`, and `T` carries no bounds excluding a panicking one. If it unwinds, `tail` still points at the freed node while `len` stays non-zero. `back()`, …
-
High 7.3
zbus_polkit: polkit authorization bypass via PID reuse due to incorrect D-Bus type for the subject UID
Subject::new_for_owner() in the zbus_polkit crate encodes the uid entry of a unix-process polkit subject as an unsigned 32-bit integer (D-Bus type u), whereas the org.freedesktop.PolicyKit1.Authority interface specifies a signed 32-bit integer (D-Bus type i).…
-
High 7.5
dd-trace-rs: Unbounded W3C tracestate parsing may lead to DoS
dd-trace-rs provides Datadog application performance monitoring for Rust. From 0.1.0 until 0.3.3, datadog-opentelemetry/src/propagation/tracecontext.rs parses the W3C tracestate header and collects every semicolon-separated key and value pair in the Datadog d…