Lucene search
+L
RustsecMost viewed

1167 matches found

RustSec
RustSec
•added 2022/11/30 12:0 p.m.•26 views

out-of-bounds read possible when setting list-of-pointers

If a message consumer expects data of type "list of pointers", and if the consumer performs certain specific actions on such data, then a message producer can cause the consumer to read out-of-bounds memory. This could trigger a process crash in the consumer, or in some cases could allow...

5.4CVSS1.2AI score0.00852EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2022/01/05 12:0 p.m.•26 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
SaveExploits0
RustSec
RustSec
•added 2021/10/17 12:0 p.m.•26 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
SaveExploits0
RustSec
RustSec
•added 2021/09/24 12:0 p.m.•26 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
SaveExploits0Affected Software1
RustSec
RustSec
•added 2021/07/04 12:0 p.m.•26 views

Potential unaligned read

On windows, atty dereferences a potentially unaligned pointer. In practice however, the pointer won't be unaligned unless a custom global allocator is used. In particular, the System allocator on windows uses HeapAlloc, which guarantees a large enough alignment. atty is Unmaintained A Pull Reques...

6.8AI score
SaveExploits0
RustSec
RustSec
•added 2021/02/26 12:0 p.m.•26 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
SaveExploits0
RustSec
RustSec
•added 2021/02/24 12:0 p.m.•26 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
SaveExploits1Affected Software1
RustSec
RustSec
•added 2021/02/12 12:0 p.m.•26 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.01228EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2021/01/31 12:0 p.m.•26 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
SaveExploits0Affected Software1
RustSec
RustSec
•added 2021/01/20 12:0 p.m.•26 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
SaveExploits1Affected Software1
RustSec
RustSec
•added 2020/12/22 12:0 p.m.•26 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
SaveExploits1Affected Software1
RustSec
RustSec
•added 2020/10/31 12:0 p.m.•26 views

GenericMutexGuard allows data races of non-Sync types across threads

GenericMutexGuard was given the Sync auto trait as long as T is Send due to its contained members. However, since the guard is supposed to represent an acquired lock and allows concurrent access to the underlying data from different threads, it should only be Sync when the underlying data is. Thi...

5.5CVSS1.8AI score0.00374EPSS
SaveExploits1Affected Software1
RustSec
RustSec
•added 2020/10/22 12:0 p.m.•26 views

MutexGuard::map can cause a data race in safe code

Affected versions of the crate had a Send/Sync implementation for MappedMutexGuard that only considered variance on T, while MappedMutexGuard dereferenced to U. This could of led to data races in safe Rust code when a closure used in MutexGuard::map returns U that is unrelated to T. The issue was...

4.7CVSS2.6AI score0.00261EPSS
SaveExploits1Affected Software1
RustSec
RustSec
•added 2020/08/20 12:0 p.m.•26 views

StrcCtx deallocates a memory region that it doesn't own

StrcCtx deallocate a memory region that it doesn't own when StrcCtx is created without using StrcCtx::new. This can introduce memory safety issues such as double-free and use-after-free to client programs...

9.8CVSS2.9AI score0.01515EPSS
SaveExploits0
RustSec
RustSec
•added 2020/07/04 12:0 p.m.•26 views

Ozone contains several memory safety issues

Ozone contains several memory safety issues including out-of-bound access and dropping of uninitialized memory...

3.1AI score
SaveExploits0
RustSec
RustSec
•added 2020/06/16 12:0 p.m.•26 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
SaveExploits0Affected Software1
RustSec
RustSec
•added 2019/11/13 12:0 p.m.•26 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.01487EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2019/08/24 12:0 p.m.•26 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
SaveExploits1Affected Software1
RustSec
RustSec
•added 2019/07/19 12:0 p.m.•26 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.8CVSS8.8AI score0.02144EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2019/06/08 12:0 p.m.•26 views

Out of Memory in stream::read_raw_bytes_into()

Affected versions of this crate called Vec::reserve on user-supplied input. This allows an attacker to cause an Out of Memory condition while calling the vulnerable method on untrusted data...

7.5CVSS5.6AI score0.03764EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2019/05/15 12:0 p.m.•26 views

Failure to properly verify ed25519 signatures makes any signature valid

Affected versions of this crate did not properly verify ed25519 signatures. Any signature with a correct length was considered valid. This allows an attacker to impersonate any node identity...

7.5CVSS4.7AI score0.00765EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2018/10/09 12:0 p.m.•26 views

Stack overflow when parsing malicious DNS packet

There's a stack overflow leading to a crash when Trust-DNS's parses a malicious DNS packet. Affected versions of this crate did not properly handle parsing of DNS message compression RFC1035 section 4.1.4. The parser could be tricked into infinite loop when a compression offset pointed back to th...

7.5CVSS3.6AI score0.01411EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2018/08/25 12:0 p.m.•26 views

Malicious input could cause uninitialized memory to be exposed

Affected versions of Claxon made an invalid assumption about the decode buffer size being a multiple of a value read from the bitstream. This could cause parts of the decode buffer to not be overwritten. If the decode buffer was newly allocated and uninitialized, this uninitialized memory could b...

6.5CVSS2.7AI score0.01372EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2017/03/15 12:0 p.m.•26 views

Hostname verification skipped when custom root certs used

If custom root certificates were registered with a ClientBuilder, the hostname of the target server would not be validated against its presented leaf certificate. This issue was fixed by properly configuring the trust evaluation logic to perform that check...

5.3CVSS1.2AI score0.00654EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2017/01/26 12:0 p.m.•26 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
SaveExploits0Affected Software1
RustSec
RustSec
•added 2016/09/06 12:0 p.m.•26 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
SaveExploits0Affected Software1
RustSec
RustSec
•added 2026/05/21 12:0 p.m.•25 views

WASI path_open(TRUNCATE) bypasses `FilePerms::WRITE` host restriction

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

7.5CVSS5.8AI score0.00357EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2022/05/21 12:0 p.m.•25 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.009EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2021/12/07 12:0 p.m.•25 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
SaveExploits7Affected Software1
RustSec
RustSec
•added 2021/12/05 12:0 p.m.•25 views

`encoding` is unmaintained

Last release was on 2016-08-28. The issue inquiring as to the status of the crate has gone unanswered by the maintainer. Possible alternatives - encodingrs...

2.2AI score
SaveExploits0
RustSec
RustSec
•added 2021/10/22 12:0 p.m.•25 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
SaveExploits0
RustSec
RustSec
•added 2021/08/15 12:0 p.m.•25 views

serde_cbor is unmaintained

The serdecbor crate is unmaintained. The author has archived the github repository. Alternatives proposed by the author: ciborium minicbor...

2.3AI score
SaveExploits0
RustSec
RustSec
•added 2021/06/12 12:0 p.m.•25 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
SaveExploits0Affected Software1
RustSec
RustSec
•added 2021/05/19 12:0 p.m.•25 views

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

Versions of iced-x86...

9.8CVSS2.1AI score0.01275EPSS
SaveExploits1Affected Software1
RustSec
RustSec
•added 2021/03/01 12:0 p.m.•25 views

Deserializing an array can drop uninitialized memory on panic

The readbytesdefaultle function for T; n arrays, used to deserialize arrays of T from bytes created a T; n array with std::mem::uninitialized and then called T's deserialization method. If T's deserialization method panicked, the uninitialized memory could drop invalid objects. This flaw was...

9.8CVSS2.7AI score0.01167EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2021/02/17 12:0 p.m.•25 views

`Read` on uninitialized buffer may cause UB ('tectonic_xdv' crate)

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.6AI score0.01191EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2021/01/31 12:0 p.m.•25 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
SaveExploits1Affected Software1
RustSec
RustSec
•added 2021/01/30 12:0 p.m.•25 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/26 12:0 p.m.•25 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/20 12:0 p.m.•25 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
SaveExploits0Affected Software1
RustSec
RustSec
•added 2021/01/11 12:0 p.m.•25 views

FromIterator implementation for Vector/Matrix can drop uninitialized memory

The FromIterator methods for Vector and Matrix rely on the type parameter N to allocate space in the iterable. If the passed in N type parameter is larger than the number of items returned by the iterator, it can lead to uninitialized memory being left in the Vector or Matrix type which gets...

9.8CVSS3.1AI score0.01326EPSS
SaveExploits1
RustSec
RustSec
•added 2021/01/06 12:0 p.m.•25 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/05 12:0 p.m.•25 views

`Read` on uninitialized memory may cause UB (fn preamble_skipcount())

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

9.8CVSS3.6AI score0.01191EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2021/01/01 12:0 p.m.•25 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/21 12:0 p.m.•25 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
SaveExploits1Affected Software1
RustSec
RustSec
•added 2020/12/18 12:0 p.m.•25 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
SaveExploits1Affected Software1
RustSec
RustSec
•added 2020/12/18 12:0 p.m.•25 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
SaveExploits1Affected Software1
RustSec
RustSec
•added 2020/12/10 12:0 p.m.•25 views

Aovec<T> lacks bound on its Send and Sync traits allowing data races

aovec::Aovec is a vector type that implements Send and Sync for all types T. This allows non-Send types such as Rc and non-Sync types such as Cell to be used across thread boundaries which can trigger undefined behavior and memory corruption...

7CVSS2.7AI score0.00285EPSS
SaveExploits0
RustSec
RustSec
•added 2020/12/10 12:0 p.m.•25 views

Dangling reference in `access::Map` with Constant

Using the arcswap::access::Map with the Constant test helper or with user-provided implementation of the Access trait could sometimes lead to the map returning dangling references. Replaced by implementation without unsafe, at the cost of added Clone bound on the closure and small penalty on...

7.5CVSS1.1AI score0.01599EPSS
SaveExploits1Affected Software1
RustSec
RustSec
•added 2020/11/28 12:0 p.m.•25 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.00388EPSS
SaveExploits1Affected Software1
Total number of security vulnerabilities1167