Lucene search
K
RustsecMost viewed

1119 matches found

RustSec
RustSec
•added 2022/05/21 12:0 p.m.•24 views

Panic due to improper UTF-8 indexing

When parsing untrusted rulex expressions, rulex may panic, possibly enabling a Denial of Service attack. This happens when the expression contains a multi- byte UTF-8 code point in a string literal or after a backslash, because rulex tries to slice into the code point and panics as a result. The...

6.5CVSS1.2AI score0.00705EPSS
Exploits0Affected Software1
RustSec
RustSec
•added 2022/05/21 12:0 p.m.•24 views

Stack overflow during recursive expression parsing

When parsing untrusted rulex expressions, the stack may overflow, possibly enabling a Denial of Service attack. This happens when parsing an expression with several hundred levels of nesting, causing the process to abort immediately. The flaw was corrected in commits 60aa2dc03a by adding a check ...

6.5CVSS3.4AI score0.00778EPSS
Exploits0Affected Software1
RustSec
RustSec
•added 2021/02/09 12:0 p.m.•24 views

Use after free possible in `uri::Formatter` on panic

Affected versions of this crate transmuted a &str to a &'static str before pushing it into a StackVec, this value was then popped later in the same function. This was assumed to be safe because the reference would be valid while the method's stack was active. In between the push and the pop,...

7.5CVSS1.2AI score0.01025EPSS
Exploits1Affected Software1
RustSec
RustSec
•added 2021/01/31 12:0 p.m.•24 views

KeyValueReader passes uninitialized memory to Read instance

The KeyValueReader type in affected versions of this crate set up an uninitialized memory buffer and passed them to be read in to a user-provided Read instance. The Read instance could read uninitialized memory and cause undefined behavior and miscompilations. This issue was fixed in commit dd59b...

9.8CVSS5.2AI score0.011EPSS
Exploits0Affected Software1
RustSec
RustSec
•added 2021/01/30 12:0 p.m.•24 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
Exploits1Affected Software1
RustSec
RustSec
•added 2020/03/24 12:0 p.m.•24 views

Flaw in `realloc` allows reading unknown memory

When reallocing, if we allocate new space, we need to copy the old allocation's bytes into the new space. There are oldsize number of bytes in the old allocation, but we were accidentally copying newsize number of bytes, which could lead to copying bytes into the realloc'd space from past the chu...

7.5CVSS0.9AI score0.0149EPSS
Exploits1Affected Software1
RustSec
RustSec
•added 2020/01/08 12:0 p.m.•24 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...

5.5CVSS3.5AI score0.00374EPSS
Exploits1Affected Software1
RustSec
RustSec
•added 2019/11/13 12:0 p.m.•24 views

Type confusion if __private_get_type_id__ is overridden

Safe Rust code can implement malfunctioning privategettypeid and cause type confusion when downcasting, which is an undefined behavior. Users who derive Fail trait are not affected...

9.8CVSS3.8AI score0.01475EPSS
Exploits0Affected Software1
RustSec
RustSec
•added 2017/01/26 12:0 p.m.•24 views

scalarmult() vulnerable to degenerate public keys

The scalarmult function included in previous versions of this crate accepted all-zero public keys, for which the resulting Diffie-Hellman shared secret will always be zero regardless of the private key used. This issue was fixed by checking for this class of keys and rejecting them if they are us...

6.5CVSS3.4AI score0.01251EPSS
Exploits0Affected Software1
RustSec
RustSec
•added 2026/03/29 12:0 p.m.•23 views

Potential Panic on Overlong Ciphertext Buffer

An application that passes in a ciphertext buffer of length greater than ptxt.len + TAGLEN to libcruxchacha20poly1305::encrypt or libcruxchacha20poly1305::xchacha20poly1305::encrypt would experience a panic. Impact An application where the length of the ciphertext buffer is under attacker control...

5.9AI score
Exploits0Affected Software1
RustSec
RustSec
•added 2023/04/12 12:0 p.m.•23 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
Exploits0Affected Software1
RustSec
RustSec
•added 2022/09/29 12:0 p.m.•23 views

matrix-sdk Impersonation of room keys

When the user receives a forwarded room key, the software accepts it without checking who the room key came from. This allows homeservers to try to insert room keys of questionable validity, potentially mounting an impersonation attack...

8.6CVSS4.6AI score0.00485EPSS
Exploits0Affected Software1
RustSec
RustSec
•added 2021/07/30 12:0 p.m.•23 views

Data race in crossbeam-deque

In the affected version of this crate, the result of the race condition is that one or more tasks in the worker queue can be popped twice instead of other tasks that are forgotten and never popped. If tasks are allocated on the heap, this can cause double free and a memory leak. If not, this stil...

9.8CVSS0.6AI score0.01907EPSS
Exploits0Affected Software1
RustSec
RustSec
•added 2021/07/15 12:0 p.m.•23 views

Uncontrolled Search Path Element in sharkdp/bat

bat on windows before 0.18.2 executes programs named less.exe from the current working directory. This can lead to unintended code execution...

7.8CVSS2.8AI score0.00356EPSS
Exploits0Affected Software1
RustSec
RustSec
•added 2021/06/12 12:0 p.m.•23 views

`grep-cli` may run arbitrary executables on Windows

On Windows in versions of grep-cli prior to 0.1.6, it's possible for some of the routines to execute arbitrary executables. In particular, a quirk of the Windows process execution API is that it will automatically consider the current directory before other directories when resolving relative...

9.8CVSS3.5AI score0.01934EPSS
Exploits0Affected Software1
RustSec
RustSec
•added 2021/02/26 12:0 p.m.•23 views

Multiple functions can cause double-frees

The following functions in the crate are affected: IdMap::clonefrom The clonefrom implementation for IdMap drops the values present in the map and then begins cloning values from the other map. If a .clone call pancics, then the afformentioned dropped elements can be freed again. getorinsert...

9.8CVSS2.4AI score0.011EPSS
Exploits0
RustSec
RustSec
•added 2021/02/24 12:0 p.m.•23 views

swap_index can write out of bounds and return uninitialized memory

swapindex takes an iterator and swaps the items with their corresponding indexes. It reserves capacity and sets the length of the vector based on the .len method of the iterator. If the len returned by the iterator is larger than the actual number of elements yielded, then swapindex creates a...

7.5CVSS3.8AI score0.009EPSS
Exploits1Affected Software1
RustSec
RustSec
•added 2021/02/14 12:0 p.m.•23 views

`nb-connect` invalidly assumes the memory layout of std::net::SocketAddr

The nb-connect crate has assumed std::net::SocketAddrV4 and std::net::SocketAddrV6 have the same memory layout as the system C representation sockaddr. It has simply casted the pointers to convert the socket addresses to the system representation. The standard library does not say anything about...

9.8CVSS2.7AI score0.01448EPSS
Exploits1Affected Software1
RustSec
RustSec
•added 2021/02/12 12:0 p.m.•23 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.01243EPSS
Exploits0Affected Software1
RustSec
RustSec
•added 2021/01/26 12:0 p.m.•23 views

Record::read : Custom `Read` on uninitialized buffer may cause UB

Affected versions of this crate passes an uninitialized buffer to a user-provided Read implementation. Record::read 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...

7.5CVSS3.2AI score0.01498EPSS
Exploits1Affected Software1
RustSec
RustSec
•added 2021/01/20 12:0 p.m.•23 views

QueryInterface should call AddRef before returning pointer

Affected version of this crate, which is a required dependency in com-impl, provides a faulty implementation of the IUnknown::QueryInterface method. QueryInterface implementation must call IUnknown::AddRef before returning the pointer, as describe in this documentation: As it is not incrementing...

7.5CVSS1.7AI score0.01053EPSS
Exploits0Affected Software1
RustSec
RustSec
•added 2020/12/22 12:0 p.m.•23 views

`Demuxer` can carry non-Send types across thread boundaries

In the affected versions of this crate, Demuxer unconditionally implemented Send with no trait bounds on T. This allows sending a non-Send type T across thread boundaries, which can cause undefined behavior like unlocking a mutex from a thread that didn't lock the mutex, or memory corruption from...

5.9CVSS2.7AI score0.00801EPSS
Exploits1Affected Software1
RustSec
RustSec
•added 2020/12/21 12:0 p.m.•23 views

Update unsound DrainFilter and RString::retain

Affected versions of this crate contained code from the Rust standard library that contained soundness bugs rust-lang/rust60977 double drop & rust-lang/rust78498 create invalid utf-8 string. The flaw was corrected in v0.9.1 by making a similar fix to the one made in the Rust standard library...

7.5CVSS2.9AI score0.01413EPSS
Exploits1Affected Software1
RustSec
RustSec
•added 2020/12/18 12:0 p.m.•23 views

SyncRef's clone() and debug() allow data races

Affected versions of this crate unconditionally implement Sync for SyncRef. This definition allows data races if &T is accessible through &SyncRef. SyncRef derives Clone and Debug, and the default implementations of those traits access &T by invoking T::clone & T::fmt. It is possible to create da...

8.1CVSS2.8AI score0.01059EPSS
Exploits1Affected Software1
RustSec
RustSec
•added 2020/11/10 12:0 p.m.•23 views

Potential segfault in `localtime_r` invocations

Impact Unix-like operating systems may segfault due to dereferencing a dangling pointer in specific circumstances. This requires an environment variable to be set in a different thread than the affected functions. This may occur without the user's knowledge, notably in a third-party library...

5.3CVSS3.6AI score0.01881EPSS
Exploits0Affected Software1
RustSec
RustSec
•added 2020/11/10 12:0 p.m.•23 views

hashconsing's HConsed lacks Send/Sync bound for its Send/Sync trait.

Affected versions of hashconsing implements Send/Sync for its HConsed 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...

7.5CVSS3AI score0.0136EPSS
Exploits1Affected Software1
RustSec
RustSec
•added 2020/09/27 12:0 p.m.•23 views

VecCopy allows misaligned access to elements

VecCopy::data is created as a Vec of u8 but can be used to store and retrieve elements of different types leading to misaligned access. The issue was resolved in v0.5.0 by replacing data being stored by Vec with a custom managed pointer. Elements are now stored and retrieved using types with prop...

5.5CVSS2.3AI score0.00374EPSS
Exploits1Affected Software1
RustSec
RustSec
•added 2020/09/24 12:0 p.m.•23 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.01844EPSS
Exploits0Affected Software1
RustSec
RustSec
•added 2020/09/03 12:0 p.m.•23 views

Obstack generates unaligned references

Obstack generates unaligned references for types that require a large alignment...

7.5CVSS2.3AI score0.0116EPSS
Exploits0Affected Software1
RustSec
RustSec
•added 2020/06/16 12:0 p.m.•23 views

HTTP Request smuggling through malformed Transfer Encoding headers

HTTP pipelining issues and request smuggling attacks are possible due to incorrect Transfer encoding header parsing. It is possible conduct HTTP request smuggling attacks CL:TE/TE:TE by sending invalid Transfer Encoding headers. By manipulating the HTTP response the attacker could poison a...

6.5CVSS1.3AI score0.01065EPSS
Exploits0Affected Software1
RustSec
RustSec
•added 2020/05/02 12:0 p.m.•23 views

failure is officially deprecated/unmaintained

The failure crate is officially end-of-life: it has been marked as deprecated by the former maintainer, who has announced that there will be no updates or maintenance work on it going forward. The following are some suggested actively developed alternatives to switch to: - anyhow - eyre - fehler ...

2.7AI score
Exploits0
RustSec
RustSec
•added 2020/01/16 12:0 p.m.•23 views

Parsing a specially crafted message can result in a stack overflow

Affected versions of this crate contained a bug in which decoding untrusted input could overflow the stack. On architectures with stack probes like x86, this can be used for denial of service attacks, while on architectures without stack probes like ARM overflowing the stack is unsound and can...

9.8CVSS5.2AI score0.0326EPSS
Exploits1Affected Software1
RustSec
RustSec
•added 2019/08/24 12:0 p.m.•23 views

Cloned interners may read already dropped strings

Affected versions of this crate did not clone contained strings when an interner is cloned. Interners have raw pointers to the contained strings, and they keep pointing the strings which the old interner owns, after the interner is cloned. If a new cloned interner is alive and the old original...

7.5CVSS2.1AI score0.01547EPSS
Exploits1Affected Software1
RustSec
RustSec
•added 2019/07/19 12:0 p.m.•23 views

Memory corruption in SmallVec::grow()

Attempting to call grow on a spilled SmallVec with a value less than the current capacity causes corruption of memory allocator data structures. An attacker that controls the value passed to grow may exploit this flaw to obtain memory contents or gain remote code execution. Credits to @ehuss for...

9.8CVSS3.1AI score0.02144EPSS
Exploits0Affected Software1
RustSec
RustSec
•added 2016/09/06 12:0 p.m.•23 views

rust-crypto is unmaintained; switch to a modern alternative

The rust-crypto crate has not seen a release or GitHub commit since 2016, and its author is unresponsive. NOTE: The old rust-crypto crate with hyphen should not be confused with similarly named new RustCrypto GitHub Org without hyphen. The GitHub Org is actively maintained. We recommend you switc...

1.3AI score
Exploits0Affected Software1
RustSec
RustSec
•added 2022/11/10 12:0 p.m.•22 views

Bug in Wasmtime implementation of pooling instance allocator

Bug in Wasmtime's implementation of its pooling instance allocator when the allocator is configured to give WebAssembly instances a maximum of zero pages of memory. In this configuration, the virtual memory mapping for WebAssembly memories did not meet the compiler-required configuration...

7.4CVSS1AI score0.00577EPSS
Exploits0Affected Software1
RustSec
RustSec
•added 2022/01/05 12:0 p.m.•22 views

lmdb is unmaintained, use lmdb-rkv instead

The lmdb crate hasn't had any updates since August 2018. Mozilla's lmdb-rkv fork of the crate has received additional maintenance work beyond that and is the best available replacement...

1.8AI score
Exploits0
RustSec
RustSec
•added 2021/12/07 12:0 p.m.•22 views

Incorrect Lifetime Bounds on Closures in `rusqlite`

The lifetime bound on several closure-accepting rusqlite functions specifically, functions which register a callback to be later invoked by SQLite was too relaxed. If a closure referencing borrowed values on the stack is was passed to one of these functions, it could allow Rust code to access...

7.5CVSS2.9AI score0.0118EPSS
Exploits7Affected Software1
RustSec
RustSec
•added 2021/10/22 12:0 p.m.•22 views

sodiumoxide is deprecated

Alternatives may be found - not in any specific order: - libsodium-sys-stable - dryoc - RustCrypto/nacl-compat cryptobox, cryptokx, cryptosecretstream - RustCrypto/xsalsa20poly1305 cryptosecretbox - Signatory - ed25519-compact - ed25519-dalek - ring Recommendations can be also found from: - Aweso...

1.7AI score
Exploits0
RustSec
RustSec
•added 2021/10/17 12:0 p.m.•22 views

abomonation transmutes &T to and from &[u8] without sufficient constraints

This transmute is at the core of the abomonation crates. It's so easy to use it to violate alignment requirements that no test in the crate's test suite passes under miri. The use of this transmute in serialization/deserialization also incorrectly assumes that the layout of a reprRust type is...

7.5CVSS1.2AI score0.00972EPSS
Exploits0
RustSec
RustSec
•added 2021/09/24 12:0 p.m.•22 views

`#[zeroize(drop)]` doesn't implement `Drop` for `enum`s

Affected versions of this crate did not implement Drop when zeroizedrop was used on an enum. This can result in memory not being zeroed out after dropping it, which is exactly what is intended when adding this attribute. The flaw was corrected in version 1.2 and zeroizedrop on enums now properly...

9.8CVSS3.7AI score0.01191EPSS
Exploits0Affected Software1
RustSec
RustSec
•added 2021/07/07 12:0 p.m.•22 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.01124EPSS
Exploits1Affected Software1
RustSec
RustSec
•added 2021/06/01 12:0 p.m.•22 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
Exploits0
RustSec
RustSec
•added 2021/05/19 12:0 p.m.•22 views

Soundness issue in `iced-x86` versions <= 1.10.3

Versions of iced-x86...

9.8CVSS2.1AI score0.01275EPSS
Exploits1Affected Software1
RustSec
RustSec
•added 2021/01/31 12:0 p.m.•22 views

split_at allows obtaining multiple mutable references to the same data

Affected versions of this crate assumed that Borrow was guaranteed to return the same value on .borrow. The borrowed index value was used to retrieve a mutable reference to a value. If the Borrow implementation returned a different index, the split arena would allow retrieving the index as a...

9.8CVSS3.1AI score0.01377EPSS
Exploits1Affected Software1
RustSec
RustSec
•added 2021/01/20 12:0 p.m.•22 views

Soundness issues in `raw-cpuid`

Undefined behavior in asstring methods VendorInfo::asstring, SoCVendorBrand::asstring, and ExtendedFunctionInfo::processorbrandstring construct byte slices using std::slice::fromrawparts, with data coming from reprRust structs. This is always undefined behavior. See...

7.5CVSS0.8AI score0.01261EPSS
Exploits1Affected Software1
RustSec
RustSec
•added 2021/01/07 12:0 p.m.•22 views

columnar: `Read` on uninitialized buffer may cause UB (ColumnarReadExt::read_typed_vec())

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

9.8CVSS3.2AI score0.01191EPSS
Exploits0Affected Software1
RustSec
RustSec
•added 2021/01/06 12:0 p.m.•22 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
Exploits1Affected Software1
RustSec
RustSec
•added 2021/01/01 12:0 p.m.•22 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
Exploits1
RustSec
RustSec
•added 2020/12/18 12:0 p.m.•22 views

ImmediateIO and TransactionalIO can cause data races

The ImmediateIO and TransactionalIO types implement Sync for all contained Expander types regardless of if the Expander itself is safe to use across threads. As the IO types allow retrieving the Expander, this can lead to non-thread safe types being sent across threads as part of the Expander...

5.9CVSS3.7AI score0.00978EPSS
Exploits1Affected Software1
Total number of security vulnerabilities1119