Lucene search
+L
RustsecMost viewed

1271 matches found

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

Bunch<T> unconditionally implements Send/Sync

Affected versions of this crate unconditionally implements Send/Sync for Bunch. This allows users to insert T: !Sync to Bunch. It is possible to create a data race to a T: !Sync by invoking the Bunch::get API which returns &T from multiple threads. It is also possible to send T: !Send to other...

8.1CVSS3.7AI score0.01249EPSS
SaveExploits1
RustSec
RustSec
•added 2020/11/10 12:00 p.m.•32 views

`Shared` can cause a data race

Shared data structure in model crate implements Send and Sync traits regardless of the inner type. This allows safe Rust code to trigger a data race, which is undefined behavior in Rust. Users are advised to treat Shared as an unsafe type. It should not be used outside of the testing context, and...

8.1CVSS1.4AI score0.01098EPSS
SaveExploits1
RustSec
RustSec
•added 2020/09/24 12:00 p.m.•32 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/05/11 12:00 p.m.•32 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/05/07 12:00 p.m.•32 views

bigint is unmaintained, use uint instead

The bigint crate is not maintained any more and contains several known bugs including a soundness bug; use uint instead...

9.8CVSS2AI score0.01534EPSS
SaveExploits0
RustSec
RustSec
•added 2020/01/30 12:00 p.m.•32 views

Use-after-free in Framed due to lack of pinning

Affected versions of this crate did not require the buffer wrapped in Framed to be pinned, but treated it as if it had a fixed location in memory. This may result in a use-after-free. The flaw was corrected by making the affected functions accept Pin instead of &mut self...

9.8CVSS4.2AI score0.01649EPSS
SaveExploits1Affected Software1
RustSec
RustSec
•added 2020/01/24 12:00 p.m.•32 views

Use-after-free in BodyStream due to lack of pinning

Affected versions of this crate did not require the buffer wrapped in BodyStream to be pinned, but treated it as if it had a fixed location in memory. This may result in a use-after-free. The flaw was corrected by making the trait MessageBody require Unpin and making pollnext function accept Pin...

7.5CVSS4AI score0.01423EPSS
SaveExploits1Affected Software1
RustSec
RustSec
•added 2020/01/08 12:00 p.m.•32 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/11/16 12:00 p.m.•32 views

HeaderMap::Drain API is unsound

Affected versions of this crate incorrectly used raw pointer, which introduced unsoundness in its public safe API. Failing to drop the Drain struct causes double-free, and it is possible to violate Rust's alias rule and cause data race with Drain's Iterator implementation. The flaw was corrected ...

9.8CVSS2.4AI score0.0185EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2019/11/16 12:00 p.m.•32 views

Integer Overflow in HeaderMap::reserve() can cause Denial of Service

HeaderMap::reserve used usize::nextpoweroftwo to calculate the increased capacity. However, nextpoweroftwo silently overflows to 0 if given a sufficiently large number in release mode. If the map was not empty when the overflow happens, the library will invoke self.grow0 and start infinite probin...

2.1AI score
SaveExploits0Affected Software1
RustSec
RustSec
•added 2019/09/01 12:00 p.m.•32 views

Panic during initialization of Lazy<T> might trigger undefined behavior

If during the first dereference of Lazy the initialization function panics, subsequent dereferences will execute std::hints::unreachableunchecked. Applications with panic = "abort" are not affected, as there will be no subsequent dereferences...

7.5CVSS4.1AI score0.01583EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2019/04/19 12:00 p.m.•32 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.01558EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2026/08/09 12:00 p.m.•31 views

Ed25519 identity public keys permit universal signature forgery

All published versions of dcrypt-sign before 2.0.0 accepted the Edwards identity as an Ed25519 public key. A signature with R = B and S = 1 then verified for every message because the challenge term multiplied the identity. The implementation also admitted other noncanonical or small-order inputs...

5.3AI score
SaveExploits0Affected Software1
RustSec
RustSec
•added 2026/07/15 12:00 p.m.•31 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
RustSec
RustSec
•added 2026/06/12 12:00 p.m.•31 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/01 12:00 p.m.•31 views

Several memory corruption issues via safe APIs

Several soundness violations exist in the Rust bindings for MetaCall, indicatively: MetaCallException::Clone: Clone is dangerous because it creates a second Rust object that still points to the same foreign MetaCall value, but does not actually own or keep that value alive. value is shallow copie...

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

Unbounded 32-bit allocation

Both the SSH agent server and client accepted peer-controlled frame lengths without enforcing a maximum frame size. This could cause large memory allocations while parsing a maliciously crafted agent frame. A malicious peer could advertise an oversized frame length, causing the client or server t...

7.5CVSS6.1AI score0.0046EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2026/04/24 12:00 p.m.•31 views

Possible UTF-8 corruption in Diesels SQLite backend

Diesel uses the sqlite3valuetext function to receive strings from SQLite while deserializing query results. We misinterpreted the corresponding SQLite documentation that this function always returns a UTF-8 encoded string values as const cchar. Based on that we used str::fromutf8unchecked to...

5.9AI score
SaveExploits0Affected Software1
RustSec
RustSec
•added 2023/04/12 12:00 p.m.•31 views

Parsing borsh messages with ZST which are not-copy/clone is unsound

Affected versions of borsh cause undefined behavior when zero-sized-types ZST are parsed and the Copy/Clone traits are not implemented/derived. For instance if 1000 instances of a ZST are deserialized, and the ZST is not copy this can be achieved through a singleton, then accessing/writing to...

6.5AI score
SaveExploits0Affected Software1
RustSec
RustSec
•added 2022/11/30 12:00 p.m.•31 views

Unsound API in `secp256k1` allows use-after-free and invalid deallocation from safe code

Because of incorrect bounds on method Secp256k1::preallocatedgennew it was possible to cause use-after-free from safe consumer code. It was also possible to "free" memory not allocated by the appropriate allocator. The method takes a place for storing the context as a mutable reference and return...

0.2AI score
SaveExploits0Affected Software1
RustSec
RustSec
•added 2022/11/10 12:00 p.m.•31 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.00713EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2022/07/30 12:00 p.m.•31 views

Post-Quantum Key Encapsulation Mechanism SIKE broken

Wouter Castryck and Thomas Decru presented an efficient key recovery attack on the SIDH protocol. As a result, the secret key of SIKEp751 can be recovered in a matter of hours. The SIKE and SIDH schemes will be removed from oqs 0.7.2. The affected schemes are the oqs::kem::Algorithm::Sike and...

2.6AI score
SaveExploits0Affected Software1
RustSec
RustSec
•added 2021/07/07 12:00 p.m.•31 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/06/01 12:00 p.m.•31 views

`mopa` is technically unsound

The mopa crate redefines the deprecated TraitObject struct from core::raw like so: rust reprC deriveCopy, Clone dochidden pub struct TraitObject pub data: mut , pub vtable: mut , This is done to then transmute a reference to a trait object &dyn Trait for any trait Trait into this struct and...

9.8CVSS0.4AI score0.01646EPSS
SaveExploits0
RustSec
RustSec
•added 2021/03/06 12:00 p.m.•31 views

Multiple memory safety issues

Affected versions contain multiple memory safety issues, such as: - Setting a multi label type where an image doesn't exist would lead to a NULL pointer dereference. - Setting a window icon using a non-raster image which FLTK rasterizes lazily would lead to a NULL dereference. - Pixmap constructo...

9.1CVSS1.4AI score0.01278EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2021/02/19 12:00 p.m.•31 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.01295EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2021/01/26 12:00 p.m.•31 views

insert_many can drop elements twice on panic

Affected versions of insertmany used ptr::copy to move over items in a vector to make space before inserting, duplicating their ownership. It then iterated over a provided Iterator to insert the new items. If the iterator's .next method panics then the vector would drop the same elements twice...

7.5CVSS4.2AI score0.01135EPSS
SaveExploits1
RustSec
RustSec
•added 2021/01/07 12:00 p.m.•31 views

Loading a bgzip block can write out of bounds if size overflows.

Affected versions of bam set the length of an internal buffer using self.compressed.setlenblocksize - HEADERSIZE - MINEXTRASIZE and then wrote into it. While blocksize was constrained to a proper maximum, when it was too small the subtraction could overflow negatively to a large number past the...

9.8CVSS2.4AI score0.01295EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2021/01/07 12:00 p.m.•31 views

Reading on uninitialized memory may cause UB ( `util::read_spv()` )

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...

9.8CVSS3.9AI score0.01345EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2021/01/06 12:00 p.m.•31 views

`Sectors::get` accesses unclaimed/uninitialized memory

Affected versions of this crate arbitrarily calls Vec::setlen to increase length of a vector without claiming more memory for the vector. Affected versions of this crate also calls user-provided Read on the uninitialized memory of the vector that was extended with Vec::setlen. This can overwrite...

9.8CVSS3AI score0.01728EPSS
SaveExploits1Affected Software1
RustSec
RustSec
•added 2021/01/01 12:00 p.m.•31 views

Exposes internally used raw pointer

Affected versions of this crate dereference a raw pointer that can be modified without using unsafe code...

7.5CVSS3.4AI score0.01397EPSS
SaveExploits1
RustSec
RustSec
•added 2020/12/31 12:00 p.m.•31 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/11/29 12:00 p.m.•31 views

Send bound needed on T (for Send impl of `Bucket2`)

Affected versions of this crate unconditionally implements Send for Bucket2. This allows sending non-Send types to other threads. This can lead to data races when non Send types like Cell or Rc are contained inside Bucket2 and sent across thread boundaries. The data races can potentially lead to...

8.1CVSS2AI score0.0124EPSS
SaveExploits1Affected Software1
RustSec
RustSec
•added 2020/11/28 12:00 p.m.•31 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/15 12:00 p.m.•31 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/10 12:00 p.m.•31 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.01112EPSS
SaveExploits1Affected Software1
RustSec
RustSec
•added 2020/10/28 12:00 p.m.•31 views

beef::Cow lacks a Sync bound on its Send trait allowing for data races

Affected versions of this crate did not have a T: Sync bound in the Send impl for Cow. This allows users to create data races by making Cow contain types that are Send && !Sync like Cell or RefCell. Such data races can lead to memory corruption. The flaw was corrected in commit d1c7658 by adding...

8.1CVSS3.3AI score0.00766EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2020/09/26 12:00 p.m.•31 views

array_queue pop_back() may cause a use-after-free

arrayqueue implements a circular queue that wraps around an array. However, it fails to properly index into the array in the popback function allowing the reading of previously dropped or uninitialized memory...

5.5CVSS3.3AI score0.00431EPSS
SaveExploits1Affected Software1
RustSec
RustSec
•added 2020/06/14 12:00 p.m.•31 views

Allows viewing and modifying arbitrary structs as bytes

Affected versions of rgb crate allow viewing and modifying data of any type T wrapped in RGB as bytes, and do not correctly constrain RGB and other wrapper structures to the types for which it is safe to do so. Safety violation possible for a type wrapped in RGB and similar wrapper structures: If...

9.1CVSS4.2AI score0.01595EPSS
SaveExploits1Affected Software1
RustSec
RustSec
•added 2020/02/28 12:00 p.m.•31 views

tiberius is unmaintained

The author of tiberius has archived the GitHub repository and left the following note: I do not have the time to overhaul the library and do not intend to further maintain the 0.3 version relying on the old futures ecosystem. Suggested alternatives are: - odbc - sqlx forthcoming...

3.4AI score
SaveExploits0Affected Software1
RustSec
RustSec
•added 2019/10/06 12:00 p.m.•31 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/24 12:00 p.m.•31 views

Flaw in string parsing can lead to crashes due to invalid memory access.

The affected version of this crate did not guard against accessing memory beyond the range of its input data. A pointer cast to read the data into a 256-bit register could lead to a segmentation fault when the end plus the 32 bytes 256 bit read would overlap into the next page during string...

7.5CVSS2.8AI score0.01398EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2019/05/07 12:00 p.m.•31 views

Bug in SliceDeque::move_head_unchecked corrupts its memory

Affected versions of this crate entered a corrupted state if mem::sizeof:: % allocationgranularity != 0 and a specific allocation pattern was used: sufficiently shifting the deque elements over the mirrored page boundary. This allows an attacker that controls controls both element insertion and...

9.8CVSS2.4AI score0.01611EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2019/04/06 12:00 p.m.•31 views

typemap is Unmaintained

The maintainer seems unreachable. The crate may or may not be usable as-is despite no maintenance and may not work in future versions of Rust. The last release seems to have been seven years ago. Possible Alternatives The below list has not been vetted in any way and may or may not contain...

2.5AI score
SaveExploits0
RustSec
RustSec
•added 2018/12/05 12:00 p.m.•31 views

Bug in SliceDeque::move_head_unchecked allows read of corrupted memory

Affected versions of this crate did not properly update the head and tail of the deque when inserting and removing elements from the front if, before insertion or removal, the tail of the deque was in the mirrored memory region, and if, after insertion or removal, the head of the deque is exactly...

9.8CVSS3.4AI score0.01611EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2026/07/13 12:00 p.m.•30 views

`event-listener` allows `!Send` tags to cross thread boundaries via `StackSlot`

Affected versions of event-listener unconditionally implement Send and Sync for StackSlot, the stack-allocated listener type created by the listener! macro. This allows a !Send tag type set via Event::withtag to be moved to another thread and accessed via StackSlot::wait, causing a data race in...

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

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 may connect to untrusted or user-supplied...

5.3AI score
SaveExploits0Affected Software1
RustSec
RustSec
•added 2026/06/04 12:00 p.m.•30 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.•30 views

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

This crate provides Rust bindings to the Classic McEliece key encapsulation mechanism 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...

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

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

This crate provides internal FFI utilities for the pqcrypto- ecosystem, directly wrapping 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...

5.8AI score
SaveExploits0
Total number of security vulnerabilities1271