Lucene search
+L
RustSecMost viewed

1332 matches found

RustSec
RustSec
•added 2020/11/14 12:00 p.m.•36 views

`LockWeak<T>` allows to create data race to `T`.

In the affected versions of this crate, LockWeak unconditionally implemented Send with no trait bounds on T. LockWeak doesn't own T and only provides &T. This allows concurrent access to a non-Sync T, which can cause undefined behavior like data races...

8.1CVSS4.8AI score0.00833EPSS
SaveExploits1
RustSec
RustSec
•added 2020/11/10 12:00 p.m.•36 views

may_queue's Queue lacks Send/Sync bound for its Send/Sync trait.

Affected versions of mayqueue implements Send/Sync for its Queue type without restricting it to Sendable types and Syncable types. This allows non-Sync types such as Cell to be shared across threads leading to undefined behavior and memory corruption in concurrent programs...

5.9CVSS3.4AI score0.01126EPSS
SaveExploits1Affected Software1
RustSec
RustSec
•added 2020/09/24 12:00 p.m.•36 views

Missing check in ArrayVec leads to out-of-bounds write.

ArrayVec::insert allows insertion of an element into the array object into the specified index. Due to a missing check on the upperbound of this index, it is possible to write out of bounds...

10CVSS3.2AI score0.01866EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2020/08/18 12:00 p.m.•36 views

Missing sanitization in mozwire allows local file overwrite of files ending in .conf

The client software downloaded a list of servers from mozilla's servers and created local files named after the hostname field in the json document. No verification of the content of the string was made, and it could therefore have included '../' leading to path traversal. This allows an attacker...

9.1CVSS3AI score0.01525EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2020/01/08 12:00 p.m.•36 views

bespoke Cell implementation allows obtaining several mutable references to the same data

The custom implementation of a Cell primitive in the affected versions of this crate does not keep track of mutable references to the underlying data. This allows obtaining several mutable references to the same object which may result in arbitrary memory corruption, most likely use-after-free. T...

9.1CVSS3.5AI score0.01428EPSS
SaveExploits1Affected Software1
RustSec
RustSec
•added 2019/04/27 12:00 p.m.•36 views

Uncontrolled recursion leads to abort in HTML serialization

Affected versions of this crate did use recursion for serialization of HTML DOM trees. This allows an attacker to cause abort due to stack overflow by providing a pathologically nested input. The flaw was corrected by serializing the DOM tree iteratively instead...

7.5CVSS3.8AI score0.01411EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2019/04/19 12:00 p.m.•36 views

Unaligned memory access

Affected versions of this crate violated alignment when casting byte slices to integer slices, resulting in undefined behavior. The flaw was corrected by Ralf Jung and Diggory Hardy...

9.8CVSS3.8AI score0.01602EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2019/03/10 12:00 p.m.•36 views

Fix for UB in failure to catch panics crossing FFI boundaries

Affected versions of this crate failed to catch panics crossing FFI boundaries via callbacks, which is a form of UB. This flaw was corrected by this commit1 which was included in version 2.6.0. 1: https://github.com/jnqnfe/pulse-binding-rust/commit/7fd282aef7787577c385aed88cb25d004b85f494...

7.5CVSS3.7AI score0.01216EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2026/08/20 12:00 p.m.•35 views

`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 locked. This crate was used as part of a...

5.4AI score
SaveExploits0
RustSec
RustSec
•added 2026/07/26 12:00 p.m.•35 views

Remote Denial of Service via malformed NIP-04 IV

The nostr crate did not validate the length of the initialization vector decoded from the ?iv= portion of a NIP-04 encrypted message. The decoded IV was converted from a byte slice to the 16-byte AES-CBC IV type using a conversion that asserts the slice length. As a result, an IV whose decoded...

5.8AI score
SaveExploits0Affected Software1
RustSec
RustSec
•added 2026/06/12 12:00 p.m.•35 views

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-panicking tryget, and both Row and...

5.3AI score
SaveExploits0Affected Software1
RustSec
RustSec
•added 2026/06/04 12:00 p.m.•35 views

`pqcrypto-traits` is unmaintained: upstream PQClean project being archived

This crate provides shared trait definitions for the pqcrypto- ecosystem, which wraps C implementations from PQClean. The PQClean project is being archived in or after July 2026 see PQClean/PQClean604. As a result, this crate and the broader pqcrypto- ecosystem will no longer receive updates. Use...

5.8AI score
SaveExploits0
RustSec
RustSec
•added 2026/06/04 12:00 p.m.•35 views

tide is unmaintained

The tide crate is unmaintained, and all versions are affected. The closest maintained alternative might be trillium. See this issue for more context...

5.8AI score
SaveExploits0
RustSec
RustSec
•added 2026/05/14 12:00 p.m.•35 views

Double-free in `vmem` storage reachable from safe Rust

When the vmem feature is enabled, VmemStorage::newBox and every public constructor that funnels through it — ConcurrentHeapRB::defaultcap, ConcurrentHeapRB::fromVec, From, etc. bit-copies the input buffer into a freshly mmap'd region with ptr::copynonoverlapping, then lets the source Box drop...

5.9AI score
SaveExploits0Affected Software1
RustSec
RustSec
•added 2026/05/14 12:00 p.m.•35 views

Double-free in `vmem` storage reachable from safe Rust (predecessor of `oneringbuf`)

mutringbuf is the archived predecessor of oneringbuf — the crate was renamed and the GitHub repository was archived on 2025-11-20. All released versions up to 1.0.0 carry the same vmem-feature double-free bug that affects oneringbuf, with the same code paths and the same reproduction shape. When...

5.9AI score
SaveExploits0
RustSec
RustSec
•added 2026/05/02 12:00 p.m.•35 views

Buffer overflow in `Clusterings::from_i32_column_major_order()`

The fromi32columnmajororder method can create inconsistent internal state. When labels length and nitems mismatch, nclusterings becomes labels.len / nitems truncated, but subsequent calls to label use indices that exceed the internal data bounds, causing a buffer overflow. For example,...

6AI score
SaveExploits0Affected Software1
RustSec
RustSec
•added 2026/05/02 12:00 p.m.•35 views

Null-pointer dereference and double-free via safe APIs

Two soundness violations exist in the Rust bindings for MetaCall: Null-pointer dereference: MetaCallFuture::newraw accepts a raw pointer without validation. The Debug impl calls Box::fromrawself.data on it. Passing a null pointer causes the Debug impl to construct a NonNull from null, producing...

5.8AI score
SaveExploits0
RustSec
RustSec
•added 2026/04/09 12:00 p.m.•35 views

Improperly masked return value from `table.grow` with Winch compiler backend

This is an entry in the RustSec database for the Wasmtime security advisory located at https://github.com/bytecodealliance/wasmtime/security/advisories/GHSA-f984-pcp8-v2p7 For more information see the GitHub-hosted security advisory...

7.5CVSS5.9AI score0.00373EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2026/03/19 12:00 p.m.•35 views

`unpack_in` can chmod arbitrary directories by following symlinks

In versions 0.4.44 and below of tar-rs, when unpacking a tar archive, the tar crate's unpackdir function uses fs::metadatafs-metadata to check whether a path that already exists is a directory. Because fs::metadata follows symbolic links, a crafted tarball containing a symlink entry followed by a...

6.5CVSS6AI score0.00386EPSS
SaveExploits1Affected Software1
RustSec
RustSec
•added 2026/03/04 12:00 p.m.•35 views

`time-sync` was removed from crates.io due to malicious code

The time-sync crate attempted to exfiltrate .env files to a server that was in turn impersonating the legitimate timeapi.io service. This the same attack that we've seen three times in the last few days. The malicious crate had 1 version published on 2026-03-04 approximately 50 minutes before...

6AI score
SaveExploits0
RustSec
RustSec
•added 2026/02/24 12:00 p.m.•35 views

Guest-controlled resource exhaustion in WASI implementations

This is an entry in the RustSec database for the Wasmtime security advisory located at https://github.com/bytecodealliance/wasmtime/security/advisories/GHSA-852m-cvvp-9p4w For more information see the GitHub-hosted security advisory...

6.9CVSS5.9AI score0.00736EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2026/02/05 12:00 p.m.•36 views

Nonce Reuse in HPKE Context

The sequence number that is used to compute the AEAD nonce when using a re-usable HPKE context is incremented after each seal or open operation. This sequence number was stored as a u32 and used regular addition on u32 for the increment, meaning in release mode it would silently wrap around to 0...

5.8AI score
SaveExploits0Affected Software1
RustSec
RustSec
•added 2025/12/04 12:00 p.m.•35 views

Incorrect calculation on aarch64

On platforms without the core::arch::aarch64::vxarqu64 intrinsic, an unverified fallback in libcrux-intrinsics v0.0.3 passed incorrect arguments and produced wrong results. This corrupted SHA-3 digests and caused libcrux-ml-kem and libcrux-ml-dsa to sample incorrectly, yielding incorrect shared...

7AI score
SaveExploits0Affected Software1
RustSec
RustSec
•added 2025/10/18 12:00 p.m.•35 views

`unic-idna-punycode` is unmaintained

All Unicode crates that are part of https://github.com/open-i18n/rust-unic are unmaintained. Recommended alternatives - idna...

7AI score
SaveExploits0
RustSec
RustSec
•added 2025/02/07 12:00 p.m.•35 views

Hickory DNS failure to verify self-signed RRSIG for DNSKEYs

Summary The DNSSEC validation routines treat entire RRsets of DNSKEY records as trusted once they have established trust in only one of the DNSKEYs. As a result, if a zone includes a DNSKEY with a public key that matches a configured trust anchor, all keys in that zone will be trusted to...

7.3AI score
SaveExploits0Affected Software1
RustSec
RustSec
•added 2023/11/15 12:00 p.m.•35 views

`lfest-main` was removed from crates.io for malicious code

This crate was part of a typosquatting malware cluster published by the user Kraded to run an arbitrary malware payload on Windows hosts. This advisory is to retrospectively document this attempted attack. The version information and download records of the malicious crate are no longer available...

5.9AI score
SaveExploits0
RustSec
RustSec
•added 2023/03/04 12:00 p.m.•35 views

`maligned::align_first` causes incorrect deallocation

maligned::alignfirst manually allocates with an alignment larger than T, and then uses Vec::fromrawparts on that allocation to get a Vec. GlobalAlloc::dealloc requires that the layout argument must be the same layout that was used to allocate that block of memory. When deallocating, Box and Vec m...

2.2AI score
SaveExploits0
RustSec
RustSec
•added 2023/02/13 12:00 p.m.•35 views

Miscompilation in cortex-m-rt 0.7.1 and 0.7.2

Version 0.7.1 of the cortex-m-rt crate introduced a regression causing the stack to NOT be eight-byte aligned prior to calling main or any other specified entrypoint, violating the stack ABI of AAPCS32, the default ABI used by all Cortex-M targets. This regression is also present in version 0.7.2...

3AI score
SaveExploits0Affected Software1
RustSec
RustSec
•added 2022/11/10 12:00 p.m.•35 views

Bug in pooling instance allocator

bug in Wasmtime's implementation of its pooling instance allocator where when a linear memory is reused for another instance the initial heap snapshot of the prior instance can be visible, erroneously to the next instance. Mitigations are described here...

8.6CVSS1.6AI score0.00754EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2022/05/10 12:00 p.m.•35 views

`SegQueue` creates zero value of any type

Affected versions of this crate called mem::zeroed to create values of a user-supplied type T. This is unsound e.g. if T is a reference type which must be non-null. The flaw was corrected by avoiding the use of mem::zeroed, using MaybeUninit instead...

3.1AI score
SaveExploits0Affected Software1
RustSec
RustSec
•added 2021/07/25 12:00 p.m.•35 views

Miner fails to get block template when a cell used as a cell dep has been destroyed.

Impact The RPC getblocktemplate fails when a cell has been used as a cell dep and an input in the different transactions. Say cell C is used as a dep group in the transaction A, and is destroyed in the transaction B. The node adds transaction A first, then B into the transaction pool. They are bo...

9.8CVSS0.6AI score0.0123EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2021/07/07 12:00 p.m.•35 views

Integer overflow in `hyper`'s parsing of the `Transfer-Encoding` header leads to data loss

When decoding chunk sizes that are too large, hyper's code would encounter an integer overflow. Depending on the situation, this could lead to data loss from an incorrect total size, or in rarer cases, a request smuggling attack. To be vulnerable, you must be using hyper for any HTTP/1 purpose,...

9.1CVSS3AI score0.01155EPSS
SaveExploits1Affected Software1
RustSec
RustSec
•added 2021/02/12 12:00 p.m.•35 views

Incorrect check on buffer length when seeding RNGs

Summary: randcore::le::readu32into and readu64into have incorrect checks on the source buffer length, allowing the destination buffer to be under-filled. Implications: some downstream RNGs, including Hc128Rng but not the more widely used ChaChaRng, allow seeding using the SeedableRng::fromseed...

9.8CVSS2.2AI score0.01238EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2021/02/03 12:00 p.m.•35 views

Window can read out of bounds if Read instance returns more bytes than buffer size

rdiff performs a diff of two provided strings or files. As part of its reading code it uses the return value of a Read instance to set the length of its internal character vector. If the Read implementation claims that it has read more bytes than the length of the provided buffer, the length of t...

7.5CVSS2AI score0.01095EPSS
SaveExploits0
RustSec
RustSec
•added 2021/02/03 12:00 p.m.•35 views

insert_slice_clone can double drop if Clone panics.

Affected versions of this crate used ptr::copy when inserting into the middle of a Vec. When ownership was temporarily duplicated during this copy, it calls the clone method of a user provided element. This issue can result in an element being double-freed if the clone call panics. Commit 20cb73d...

5.3CVSS3AI score0.01359EPSS
SaveExploits1Affected Software1
RustSec
RustSec
•added 2021/01/30 12:00 p.m.•36 views

`Read` on uninitialized buffer may cause UB (`impl Walue for Vec<u8>`)

Affected versions of this crate passes an uninitialized buffer to a user-provided Read implementation. Arbitrary Read implementations can read from the uninitialized buffer memory exposure and also can return incorrect number of bytes written to the buffer. Reading from uninitialized memory...

7.5CVSS2.8AI score0.01489EPSS
SaveExploits1Affected Software1
RustSec
RustSec
•added 2021/01/12 12:00 p.m.•35 views

panic safety: double drop may happen within `util::{mutate, mutate2}`

Upon panic in a user-provided function f, fn mutate & fn mutate2 drops twice a same object. Affected versions of this crate did not guard against double drop while temporarily duplicating an object's ownership with ptr::read. Dropping a same object can result in memory corruption. The flaw was...

9.8CVSS1.1AI score0.01571EPSS
SaveExploits1Affected Software1
RustSec
RustSec
•added 2021/01/02 12:00 p.m.•35 views

reading on uninitialized buffer can cause UB (`impl<R> BufRead for GreedyAccessReader<R>`)

Affected versions of this crate creates an uninitialized buffer and passes it to user-provided Read implementation. This is unsound, because it allows safe Rust code to exhibit an undefined behavior read from uninitialized memory. The flaw was corrected in version 0.1.1 by zero-initializing a new...

9.1CVSS3.4AI score0.01662EPSS
SaveExploits1Affected Software1
RustSec
RustSec
•added 2021/01/02 12:00 p.m.•35 views

Reading uninitialized memory can cause UB (`Deserializer::read_vec`)

Deserializer::readvec created an uninitialized buffer and passes it to a user-provided Read implementation Deserializer.reader.readexact. Passing an uninitialized buffer to an arbitrary Read implementation is currently defined as undefined behavior in Rust. Official documentation for the Read tra...

9.8CVSS2AI score0.01688EPSS
SaveExploits1Affected Software1
RustSec
RustSec
•added 2020/11/28 12:00 p.m.•35 views

Reference counting error in `From<Py<T>>`

A bug in From would lead to an extra reference count decrement, often leading to use-after-free issues...

5.5CVSS2.1AI score0.00393EPSS
SaveExploits1Affected Software1
RustSec
RustSec
•added 2020/11/17 12:00 p.m.•35 views

ReadTicket and WriteTicket should only be sendable when T is Send

Affected versions of this crate unconditionally implemented Send for ReadTicket & WriteTicket. This allows to send non-Send T to other threads. This can allows creating data races by cloning types with internal mutability and sending them to other threads as T of ReadTicket/WriteTicket. Such data...

8.1CVSS2.9AI score0.00766EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2020/11/15 12:00 p.m.•35 views

SyncChannel<T> can move 'T: !Send' to other threads

Affected versions of this crate unconditionally implement Send/Sync for SyncChannel. SyncChannel doesn't provide access to &T but merely serves as a channel that consumes and returns owned T. Users can create UB in safe Rust by sending T: !Send to other threads with SyncChannel::send/recv APIs...

8.1CVSS3.9AI score0.00766EPSS
SaveExploits0
RustSec
RustSec
•added 2020/11/09 12:00 p.m.•35 views

TreeFocus lacks bounds on its Send and Sync traits

Affected versions of im contains TreeFocus that unconditionally implements Send and Sync. This allows a data race in safe Rust code if TreeFocus is extracted from Focus type. Typical users that only use Focus type are not affected...

4.7CVSS4AI score0.00336EPSS
SaveExploits1Affected Software1
RustSec
RustSec
•added 2020/05/19 12:00 p.m.•36 views

tokio-rustls reads may cause excessive memory usage

tokio-rustls does not call processnewpackets immediately after read, so the expected termination condition wantsread always returns true. As long as new incoming data arrives faster than it is processed and the reader does not return pending, data will be buffered. This may cause DoS...

7.5CVSS2.2AI score0.01352EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2020/05/11 12:00 p.m.•35 views

rio allows a use-after-free buffer access when a future is leaked

When a rio::Completion is leaked, its drop code will not run. The drop code is responsible for waiting until the kernel completes the I/O operation into, or out of, the buffer borrowed by rio::Completion. Leaking the struct will allow one to access and/or drop the buffer, which can lead to a...

9.8CVSS3.1AI score0.0156EPSS
SaveExploits0
RustSec
RustSec
•added 2020/03/27 12:00 p.m.•35 views

use-after or double free of allocated memory

Conversion of BitVec to BitBox did not account for allocation movement. The flaw was corrected by using the address after resizing, rather than the original base address...

9.8CVSS3.5AI score0.01649EPSS
SaveExploits1Affected Software1
RustSec
RustSec
•added 2019/10/06 12:00 p.m.•35 views

Incorrect implementation of the Streebog hash functions

Internal update-sigma function was implemented incorrectly and depending on debug-assertions it could've caused an incorrect result or panic for certain inputs...

1.1AI score
SaveExploits0Affected Software1
RustSec
RustSec
•added 2019/06/06 12:00 p.m.•35 views

Double-free and use-after-free in SmallVec::grow()

Attempting to call grow on a spilled SmallVec with a value equal to the current capacity causes it to free the existing data. This performs a double free immediately and may lead to use-after-free on subsequent accesses to the SmallVec contents. An attacker that controls the value passed to grow...

9.8CVSS8.7AI score0.01862EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2026/08/20 12:00 p.m.•34 views

`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 of a malware campaign targeted at users ...

5.5AI score
SaveExploits0
RustSec
RustSec
•added 2026/07/15 12:00 p.m.•34 views

`libcrux-aesgcm` Renamed to `libcrux-aes`

Crate libcrux-aesgcm was renamed to libcrux-aes and will no longer receive new versions under the name libcrux-aesgcm, with the final released version under that name being version 0.0.8. The original functionality is now provided in crate libcrux-aes, where development continues at version 0.0.9...

5.3AI score
SaveExploits0
Total number of security vulnerabilities1332