Lucene search
+L
RustsecMost viewed

1167 matches found

RustSec
RustSec
added 2020/11/10 12:0 p.m.21 views

`Decoder<R>` can carry `R: !Send` to other threads

Affected versions of this crate implements Send for Decoder for any R: Read. This allows Decoder to contain R: !Send and carry move it to another thread. This can result in undefined behavior such as memory corruption from data race on R, or dropping R = MutexGuard from a thread that didn't lock...

8.1CVSS1.7AI score0.00766EPSS
SaveExploits0Affected Software1
RustSec
RustSec
added 2020/11/10 12:0 p.m.21 views

ReaderResult should be bounded by Sync

Affected versions of this crate implements Sync for ReaderResult with the trait bound T: Send, E: Send. Since matching on the public enum ReaderResult provides access to &T & &E, allowing data race to a non-Sync type T or E. This can result in a memory corruption when multiple threads concurrentl...

8.1CVSS1.1AI score0.00833EPSS
SaveExploits1
RustSec
RustSec
added 2020/11/09 12:0 p.m.21 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.00332EPSS
SaveExploits1Affected Software1
RustSec
RustSec
added 2020/09/03 12:0 p.m.21 views

Memory safety issues in `compact::Vec`

compact::Vec contains multiple memory safety issues. 1. It mishandles large capacity and causes out-of-bound access in 32-bit / allocator layout mismatch in 64-bit. 2. remove is not panic-safe and causes double-free when an index larger than the length is provided...

7.5CVSS3.1AI score0.0139EPSS
SaveExploits1
RustSec
RustSec
added 2020/07/09 12:0 p.m.21 views

Improper uniqueness verification of signature threshold

The tough library, prior to 0.7.1, does not properly verify the uniqueness of keys in the signatures provided to meet the threshold of cryptographic signatures. It allows someone with access to a valid signing key to create multiple valid signatures in order to circumvent TUF requiring a minimum...

9.8CVSS1.5AI score0.00987EPSS
SaveExploits0Affected Software1
RustSec
RustSec
added 2020/06/01 12:0 p.m.21 views

traitobject assumes the layout of fat pointers

This crate gets the data pointer from fat pointers assuming that the first element in a fat pointer is the data pointer. This is currently true, but it may change in a future Rust version, leading to memory corruption. This has been fixed in the master branch of the crate, but is has not been...

9.8CVSS3.7AI score0.0171EPSS
SaveExploits1
RustSec
RustSec
added 2020/05/19 12:0 p.m.21 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.01336EPSS
SaveExploits0Affected Software1
RustSec
RustSec
added 2020/05/01 12:0 p.m.21 views

`net2` crate has been deprecated; use `socket2` instead

The net2 crate has been deprecated and users are encouraged to considered socket2 instead...

2.3AI score
SaveExploits0
RustSec
RustSec
added 2020/04/23 12:0 p.m.21 views

Various memory safety issues

Several memory safety issues have been uncovered in an audit of rusqlite. See https://github.com/rusqlite/rusqlite/releases/tag/0.23.0 for a complete list...

9.8CVSS1.5AI score0.0173EPSS
SaveExploits0Affected Software1
RustSec
RustSec
added 2020/01/22 12:0 p.m.21 views

Observable Discrepancy in libsecp256k1-rs

A timing vulnerability in the Scalar::checkoverflow function in Parity libsecp256k1-rs before 0.3.1 potentially allows an attacker to leak information via a side-channel attack...

5.9CVSS3.9AI score0.00881EPSS
SaveExploits0Affected Software1
RustSec
RustSec
added 2019/11/21 12:0 p.m.21 views

crust repo has been archived; use libp2p instead

The crust crate repo was archived with no warning or explanation. Given that it was archived with no warning or successor, there's not an official replacement but rust-libp2p looks like it's got a similar feature set and is actively maintained...

2.4AI score
SaveExploits0Affected Software1
RustSec
RustSec
added 2019/07/04 12:0 p.m.21 views

MultiDecoder::read() drops uninitialized memory of arbitrary type on panic in client code

Affected versions of libflate have set a field of an internal structure with a generic type to an uninitialized value in MultiDecoder::read and reverted it to the original value after the function completed. However, execution of MultiDecoder::read could be interrupted by a panic in caller-suppli...

9.8CVSS3.1AI score0.02458EPSS
SaveExploits0Affected Software1
RustSec
RustSec
added 2018/11/27 12:0 p.m.21 views

Vec-to-vec transmutations could lead to heap overflow/corruption

Affected versions of this crate switched the length and capacity arguments in the Vec::fromrawparts constructor, which could lead to memory corruption or data leakage. The flaw was corrected by using the constructor correctly...

9.8CVSS2.8AI score0.02032EPSS
SaveExploits0Affected Software1
RustSec
RustSec
added 2018/06/15 12:0 p.m.21 views

Use-after-free with objects returned by `Stream`'s `get_format_info` and `get_context` methods

Affected versions contained a pair of use-after-free issues with the objects returned by the getformatinfo and getcontext methods of Stream objects. These objects were mistakenly being constructed without setting an important flag to prevent destruction of the underlying C objects they reference...

3.9AI score
SaveExploits0Affected Software1
RustSec
RustSec
added 2018/06/08 12:0 p.m.21 views

Multiple memory safety issues

Affected versions contain multiple memory safety issues, such as: - Unsoundly coercing immutable references to mutable references - Unsoundly extending lifetimes of strings - Adding the Send marker trait to objects that cannot be safely sent between threads This may result in a variety of memory...

9.8CVSS2AI score0.01324EPSS
SaveExploits0Affected Software1
RustSec
RustSec
added 2017/05/03 12:0 p.m.21 views

Integer overflow leads to heap-based buffer overflow in encode_config_buf

Affected versions of this crate suffered from an integer overflow bug when calculating the size of a buffer to use when encoding base64 using the encodeconfigbuf and encodeconfig functions. If the input string was large, this would cause a buffer to be allocated that was too small. Since this...

9.8CVSS3.7AI score0.01534EPSS
SaveExploits0Affected Software1
RustSec
RustSec
added 2026/06/04 12:0 p.m.20 views

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

This crate provides Rust bindings to ML-DSA FIPS 204 via C implementations from PQClean. The PQClean project is being archived in or after July 2026 see PQClean/PQClean604, after which no further security patches or bug fixes will be applied to the upstream implementations. As a result, this crat...

5.8AI score
SaveExploits0
RustSec
RustSec
added 2026/05/15 12:0 p.m.20 views

Unchecked `CryptoVec` allocation and growth handling

CryptoVec used unchecked capacity growth, unchecked length arithmetic, and unsafe allocation and locking paths. In affected russh releases, attacker-controlled input could reach these code paths through buffer resizing operations. Two affected reachability paths were identified: Current russh...

7.5CVSS6.2AI score0.00263EPSS
SaveExploits0Affected Software1
RustSec
RustSec
added 2026/05/05 12:0 p.m.20 views

Signature Verification on AVX2 Platforms Mishandles Edge Case

The AVX2 implementation of ML-DSA verification incorrectly implemented the usehint function, mishandling an edge case that should lead to signature rejection. Impact An attacker could make the ML-DSA verifier accept a crafted invalid signature under a maliciously generated verification key, if th...

5.8AI score
SaveExploits0Affected Software1
RustSec
RustSec
added 2025/11/17 12:0 p.m.20 views

cargo-asm crate is unmaintained

The cargo-asm crate is deprecated and no longer actively maintained. If you rely on this crate, consider switching to a recommended alternative. Recommended alternatives - cargo-show-asm...

6.9AI score
SaveExploits0
RustSec
RustSec
added 2025/02/10 12:0 p.m.20 views

cve-rs introduces memory vulnerabilities in safe Rust

This crate is a joke and should never be used. cve-rs provides demonstrations of common memory vulnerabilities such as buffer overflows and segfaults implemented completely within safe Rust. Internally, this crate does not use unsafe code, it instead exploits a soundness bug in rustc:...

7.4AI score
SaveExploits0
RustSec
RustSec
added 2023/05/16 12:0 p.m.20 views

crate has been renamed to `crypto_secretbox`

This crate has been forked/renamed from xsalsa20poly1305 to cryptosecretbox. The new repository location is at:...

6.9AI score
SaveExploits0
RustSec
RustSec
added 2023/03/19 12:0 p.m.20 views

NULL pointer dereference in `stb_image`

A bug in error handling in the stbimage C library could cause a NULL pointer dereference when attempting to load an invalid or unsupported image file. This is fixed in version 0.2.5 and later of the stbimage Rust crate, by patching the C code to correctly handle NULL pointers. Thank you to GitHub...

7.1AI score
SaveExploits0Affected Software1
RustSec
RustSec
added 2023/02/25 12:0 p.m.20 views

Ascii allows out-of-bounds array indexing in safe code

Affected version of this crate had implementation of From for &mut u8 and &mut str. This can result in out-of-bounds array indexing in safe code. The flaw was corrected in commit 8a6c779 by removing those impls...

4.5AI score
SaveExploits0Affected Software1
RustSec
RustSec
added 2022/07/21 12:0 p.m.20 views

Denial of service on deeply nested fragment requests

Deeply nested fragments in a GraphQL request may cause a stack overflow in the server...

3.3AI score
SaveExploits0Affected Software1
RustSec
RustSec
added 2022/05/10 12:0 p.m.20 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 2022/05/10 12:0 p.m.20 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 2022/04/27 12:0 p.m.20 views

`array!` macro is unsound when its length is impure constant

Affected versions of this crate did substitute the array length provided by an user at compile-time multiple times. When an impure constant expression is passed as an array length such as a result of an impure procedural macro, this can result in the initialization of an array with uninitialized...

3.3AI score
SaveExploits0Affected Software1
RustSec
RustSec
added 2021/11/14 12:0 p.m.20 views

Panic on incorrect date input to `simple_asn1`

Version 0.6.0 of the simpleasn1 crate panics on certain malformed inputs to its parsing functions, including fromder and derdecode. Because this crate is frequently used with inputs from the network, this should be considered a security vulnerability. The issue occurs when parsing the old ASN.1...

7.5CVSS2.4AI score0.0134EPSS
SaveExploits0Affected Software1
RustSec
RustSec
added 2021/09/08 12:0 p.m.20 views

Miscomputed results when using AVX2 backend

The v0.9.7 release of the sha2 crate introduced a new AVX2-accelerated backend which was automatically enabled for all x86/x8664 CPUs where AVX2 support was autodetected at runtime. This backend was buggy and would miscompute results for long messages i.e. messages spanning multiple SHA blocks. T...

9.8CVSS2.2AI score0.00805EPSS
SaveExploits0Affected Software1
RustSec
RustSec
added 2021/07/30 12:0 p.m.20 views

Partial read is incorrect in molecule

Anyone who uses totalsize.. function to partial read the length of any FixVec will get an incorrect result, due to an incorrect implementation. This has been resolved in the 0.7.2 release...

9.8CVSS2.6AI score0.01318EPSS
SaveExploits0Affected Software1
RustSec
RustSec
added 2021/07/25 12:0 p.m.20 views

Process crashes when the cell used as DepGroup is not alive

It's easy to create a malign transaction which uses the dead cell as the DepGroup in the DepCells. The transaction can crash all the receiving nodes...

7.8CVSS2AI score0.01088EPSS
SaveExploits0Affected Software1
RustSec
RustSec
added 2021/07/12 12:0 p.m.20 views

Relative Path Traversal in git-delta

git-delta before 0.8.3 on Windows resolves an executable's pathname as a relative path from the current directory...

7.8CVSS4.6AI score0.00422EPSS
SaveExploits0Affected Software1
RustSec
RustSec
added 2021/03/18 12:0 p.m.20 views

Denial of service through parsing payloads with too big exponent

The parseduration::parse function allows for parsing duration strings with exponents like 5e5s where under the hood, the BigInt type along with the pow function are used for such payloads. Passing an arbitrarily big exponent makes the parseduration::parse function to process the payload for a ver...

7.5CVSS3.9AI score0.00981EPSS
SaveExploits0
RustSec
RustSec
added 2021/03/05 12:0 p.m.20 views

Fix a use-after-free bug in diesels Sqlite backend

We've misused sqlite3columnname. The SQLite documentation states that the following: The returned string pointer is valid until either the prepared statement is destroyed by sqlite3finalize or until the statement is automatically reprepared by the first call to sqlite3step for a particular run or...

9.8CVSS2.1AI score0.01319EPSS
SaveExploits0Affected Software1
RustSec
RustSec
added 2021/02/28 12:0 p.m.20 views

project abandoned; migrate to the `aes-siv` crate

The Miscreant project has been abandoned and archived. The Rust implementation has been adapted into the new aes-siv crate which implements both the AES-CMAC-SIV and AES-PMAC-SIV constructions: Please migrate to the aes-siv crate. Alternatively see the aes-gcm-siv crate for a newer, faster...

0.6AI score
SaveExploits0
RustSec
RustSec
added 2021/02/22 12:0 p.m.20 views

push_cloned can drop uninitialized memory or double free on panic

Affected versions of stackdst used a pushinner function that increased the internal length of the array and then called val.clone. If the val.clone call panics, the stack could drop an already dropped element or drop uninitialized memory. This issue was fixed in 2a4d538 by increasing the length o...

5.1AI score
SaveExploits0Affected Software1
RustSec
RustSec
added 2021/02/19 12:0 p.m.20 views

Multiple memory safety issues in insert_row

When inserting rows from an iterator at a particular index, toodee would shift items over, duplicating their ownership. The space reserved for the new elements was based on the len returned by the ExactSizeIterator. This could result in elements in the array being freed twice if the iterator...

9.8CVSS1.6AI score0.01167EPSS
SaveExploits0Affected Software1
RustSec
RustSec
added 2021/02/15 12:0 p.m.20 views

crate has been renamed to `qjsonrpc`

This crate has been renamed from jsonrpc-quic to qjsonrpc. The new repository location is:...

6.9AI score
SaveExploits0
RustSec
RustSec
added 2021/02/03 12:0 p.m.20 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.01059EPSS
SaveExploits0
RustSec
RustSec
added 2021/02/03 12:0 p.m.20 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/08 12:0 p.m.20 views

Buffer overflow in SmallVec::insert_many

A bug in the SmallVec::insertmany method caused it to allocate a buffer that was smaller than needed. It then wrote past the end of the buffer, causing a buffer overflow and memory corruption on the heap. This bug was only triggered if the iterator passed to insertmany yielded more items than the...

9.8CVSS8.7AI score0.01666EPSS
SaveExploits1Affected Software1
RustSec
RustSec
added 2021/01/03 12:0 p.m.20 views

'Read' on uninitialized memory may cause UB

Affected versions of this crate passes an uninitialized buffer to a user-provided Read implementation. The crate currently contains 4 occurrences of such cases. Arbitrary Read implementations can read from the uninitialized buffer memory exposure and also can return incorrect number of bytes...

9.8CVSS3AI score0.01191EPSS
SaveExploits0
RustSec
RustSec
added 2021/01/02 12:0 p.m.20 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.01642EPSS
SaveExploits1Affected Software1
RustSec
RustSec
added 2020/12/31 12:0 p.m.20 views

`impl Random` on arrays can lead to dropping uninitialized memory

Affected versions of this crate had a panic safety issue to drop partially uninitialized array of T upon panic in a user provided function T::random. Dropping uninitialized T can potentially cause memory corruption or undefined behavior. The flaw was corrected in commit 565d508 by using MaybeUnin...

7.8CVSS2.9AI score0.00426EPSS
SaveExploits1Affected Software1
RustSec
RustSec
added 2020/12/18 12:0 p.m.20 views

ShmWriter allows sending non-Send type across threads

Affected versions of this crate implement Send for ShmWriter without requiring H: Send. This allows users to send H: !Send to other threads, which can potentially lead to data races and undefined behavior...

8.1CVSS3.6AI score0.01249EPSS
SaveExploits1Affected Software1
RustSec
RustSec
added 2020/12/10 12:0 p.m.20 views

MvccRwLock allows data races & aliasing violations

Affected versions of this crate unconditionally implement Send/Sync for MvccRwLock. This can lead to data races when types that are either !Send or !Sync e.g. Rc, Arc are contained inside MvccRwLock and sent across thread boundaries. The data races can potentially lead to memory corruption as...

8.1CVSS3AI score0.0124EPSS
SaveExploits1
RustSec
RustSec
added 2020/12/08 12:0 p.m.20 views

ArcGuard's Send and Sync should have bounds on RC

Affected versions of this crate implement Send/Sync for ArcGuard with no trait bounds on RC. This allows users to send RC: !Send to other threads and also allows users to concurrently access Rc: !Sync from multiple threads. This can result in memory corruption from data race or other undefined...

8.1CVSS3.1AI score0.00766EPSS
SaveExploits0
RustSec
RustSec
added 2020/11/15 12:0 p.m.20 views

PinSlab<T> and Unordered<T, S> need bounds on their Send/Sync traits

Affected versions of this crate unconditionally implemented Send & Sync for types PinSlab & Unordered. This allows sending non-Send types to other threads and concurrently accessing non-Sync types from multiple threads. This can result in a data race & memory corruption when types that provide...

8.1CVSS1.7AI score0.00766EPSS
SaveExploits0Affected Software1
RustSec
RustSec
added 2020/06/23 12:0 p.m.20 views

linked-hash-map creates uninitialized NonNull pointer

Affected versions of this crate called mem::uninitialized to create a NonNull, which is undefined behavior. The flaw was corrected by avoiding the use of mem::uninitialized...

9.8CVSS3.5AI score0.01792EPSS
SaveExploits1Affected Software1
Total number of security vulnerabilities1167