Lucene search
+L
RustsecMost viewed

1167 matches found

RustSec
RustSec
•added 2019/06/11 12:0 p.m.•38 views

Compiler optimisation for next_with_timeout in pnet::transport::IcmpTransportChannelIterator flaws to SEGFAULT

Affected versions of this crate were optimized out by compiler, which caused dereference of uninitialized file descriptor which caused segfault...

7.5CVSS2.6AI score0.00958EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2023/02/07 12:0 p.m.•37 views

Invalid pointer dereference in `d2i_PKCS7` functions

An invalid pointer dereference on read can be triggered when an application tries to load malformed PKCS7 data with the d2iPKCS7, d2iPKCS7bio or d2iPKCS7fp functions. The result of the dereference is an application crash which could lead to a denial of service attack. The TLS implementation in...

7.5CVSS7.3AI score0.01846EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2022/05/03 12:0 p.m.•37 views

Incorrect MAC key used in the RC4-MD5 ciphersuite

The OpenSSL 3.0 implementation of the RC4-MD5 ciphersuite incorrectly uses the AAD data as the MAC key. This makes the MAC key trivially predictable. An attacker could exploit this issue by performing a man-in-the-middle attack to modify data being sent from one endpoint to an OpenSSL 3.0 recipie...

5.9CVSS3.4AI score0.01061EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2022/02/07 12:0 p.m.•37 views

Failure to verify the public key of a `SignedEnvelope` against the `PeerId` in a `PeerRecord`

Affected versions of this crate did not check that the public key the signature was created with matches the peer ID of the peer record. Any combination was considered valid. This allows an attacker to republish an existing PeerRecord with a different PeerId...

4.1AI score
SaveExploits0Affected Software1
RustSec
RustSec
•added 2020/04/11 12:0 p.m.•37 views

`read_scalar` and `read_scalar_at` allow transmuting values without `unsafe` blocks

The readscalar and readscalarat functions are unsound because they allow transmuting values without unsafe blocks. The following example shows how to create a dangling reference: fn main deriveCopy, Clone, PartialEq, Debug struct S&'static str; impl flatbuffers::EndianScalar for S fn...

7.5CVSS4.1AI score0.00583EPSS
SaveExploits1Affected Software1
RustSec
RustSec
•added 2021/12/20 12:0 p.m.•36 views

Integer overflow in the bundled Brotli C library

A buffer overflow exists in the Brotli library versions prior to 1.0.8 where an attacker controlling the input length of a "one-shot" decompression request to a script can trigger a crash, which happens when copying over chunks of data larger than 2 GiB. If one cannot update the C library, its...

3.3AI score
SaveExploits0Affected Software1
RustSec
RustSec
•added 2023/05/16 12:0 p.m.•35 views

Out-of-bounds array access leads to panic

Affected versions of the crate have a bug where attacker-controlled input can result in the use of an out-of-bound array index. Rust detects the use of the out-of-bound index and causes the application to panic. An attacker may be able to use this to cause a denial-of-service. However, it is not...

5.3CVSS6.8AI score0.00332EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2021/02/17 12:0 p.m.•35 views

misc::vec_with_size() can drop uninitialized memory if clone panics

misc::vecwithsize creates a vector of the provided size and immediately calls vec.setlensize on it, initially filling it with uninitialized memory. It then inserts elements using veci = value.clone. If the value.clone call panics, uninitialized items in the vector will be dropped leading to...

9.8CVSS2.5AI score0.01363EPSS
SaveExploits1
RustSec
RustSec
•added 2020/11/10 12:0 p.m.•35 views

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

AtomicBox is a Box type designed to be used across threads, however, it implements the Send and Sync traits 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...

8.1CVSS2.1AI score0.0124EPSS
SaveExploits1Affected Software1
RustSec
RustSec
•added 2026/06/04 12:0 p.m.•34 views

`pqcrypto` is unmaintained: upstream PQClean project being archived

The pqcrypto crate and the entire pqcrypto- ecosystem wrap C implementations from PQClean. The PQClean project is being archived in or after July 2026 see PQClean/PQClean604, after which no further security patches, algorithm updates, or bug fixes will be applied to the upstream implementations. ...

5.8AI score
SaveExploits0
RustSec
RustSec
•added 2026/04/13 12:0 p.m.•34 views

`pretty-changelog-logger` was removed from crates.io for malicious code

pretty-changelog-logger contains a build script build.rs that acts as a loader/dropper for malicious payloads. The malicious crate had 3 versions published on 2026-04-08 that had a total of 2239 downloads. There were no crates depending on this crate on crates.io. Thanks to Socket.dev for detecti...

5.8AI score
SaveExploits0
RustSec
RustSec
•added 2022/05/09 12:0 p.m.•34 views

Timing attack

Affecting versions did not compare tokens in constant time, which could make it possible for an attacker to guess the 2fa token of a user. This has been fixed by using using the crate constanttimeeq for comparison...

4.4CVSS4.8AI score0.00806EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2022/05/03 12:0 p.m.•34 views

`OCSP_basic_verify` may incorrectly verify the response signing certificate

The function OCSPbasicverify verifies the signer certificate on an OCSP response. In the case where the non-default flag OCSPNOCHECKS is used then the response will be positive meaning a successful verification even in the case where the response signing certificate fails to verify. It is...

5.3CVSS1.5AI score0.01214EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2020/11/18 12:0 p.m.•34 views

Potential segfault in the time crate

Impact The affected functions set environment variables without synchronization. On Unix-like operating systems, this can crash in multithreaded programs. Programs may segfault due to dereferencing a dangling pointer if an environment variable is read in a different thread than the affected...

5.3CVSS5AI score0.01622EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2020/11/08 12:0 p.m.•34 views

Some lock_api lock guard objects can cause data races

Affected versions of lockapi had unsound implementations of the Send or Sync traits for some guard objects, namely: MappedMutexGuard MappedRwLockReadGuard MappedRwLockWriteGuard RwLockReadGuard RwLockWriteGuard These guards could allow data races through types that are not safe to Send across...

5.5CVSS2.2AI score0.00324EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2020/11/08 12:0 p.m.•34 views

Unexpected panic in multihash `from_slice` parsing code

In versions prior 0.11.3 it's possible to make fromslice panic by feeding it certain malformed input. It's never documented that fromslice and frombytes which wraps it can panic, and its' return type Result suggests otherwise. In practice, fromslice/frombytes is frequently used in networking code...

7.8CVSS2.9AI score0.01371EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2026/04/09 12:0 p.m.•33 views

Rand is unsound with a custom logger using `rand::rng()`

It has been reported by @lopopolo that the rand library is unsound i.e. that safe code using the public API can cause Undefined Behaviour when all the following conditions are met: - The log and threadrng features are enabled - A custom logger is defined - The custom logger accesses rand::rng...

5.5AI score
SaveExploits0Affected Software1
RustSec
RustSec
•added 2021/07/07 12:0 p.m.•33 views

Task dropped in wrong thread when aborting `LocalSet` task

When aborting a task with JoinHandle::abort, the future is dropped in the thread calling abort if the task is not currently being executed. This is incorrect for tasks spawned on a LocalSet. This can easily result in race conditions as many projects use Rc or RefCell in their Tokio tasks for bett...

5.9CVSS0.9AI score0.00836EPSS
SaveExploits1Affected Software1
RustSec
RustSec
•added 2020/12/08 12:0 p.m.•33 views

Future<T> lacks bounds on Send and Sync.

tinyfuture contains a light-weight implementation of Futures. The Future type it has lacked bound on its Send and Sync traits. This allows for a bug where non-thread safe types such as Cell can be used in Futures and cause data races in concurrent programs. The flaw was corrected in commit c79191...

8.1CVSS2.3AI score0.00766EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2020/01/24 12:0 p.m.•33 views

Improper `Sync` implementation on `FuturesUnordered` in futures-utils can cause data corruption

Affected versions of the crate had an unsound Sync implementation on the FuturesUnordered structure, which used a Cell for interior mutability without any code to handle synchronized access to the underlying task list's length and head safely. This could of lead to data corruption since two threa...

5.5CVSS1.5AI score0.00334EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2026/06/01 12:0 p.m.•32 views

Bad-free in `MetaCallException::new`

exceptionstruct is a local stack variable, but the code passes its address to the C language as &mut exceptionstruct as mut as mut cvoid. Then, the returned MetaCallException value is stored here: rust OkSelf exceptionstruct: Arc::newexceptionstruct, value: exceptionptr, leak: false, Because leak...

5.8AI score
SaveExploits0
RustSec
RustSec
•added 2026/04/23 12:0 p.m.•32 views

`sui-execution-cut` was removed from crates.io for malicious code

sui-execution-cut included a build script that attempted to exfiltrate data from the build machine. The malicious crate had 1 version published on 2026-04-20 and had no evidence of actual usage. This crate had no dependencies on crates.io...

5.8AI score
SaveExploits0
RustSec
RustSec
•added 2026/03/29 12:0 p.m.•32 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
SaveExploits0Affected Software1
RustSec
RustSec
•added 2023/06/11 12:0 p.m.•32 views

Ouroboros is Unsound

Summary Ouroboros has a soundness problem, but a fix has been implemented in 0.16.0. More details: In 0.15.0, Ouroboros works internally by creating a struct where all uses of 'this are replaced by 'static. However, a recent addition to Miri checks that references passed to functions are valid...

6.8AI score
SaveExploits0Affected Software1
RustSec
RustSec
•added 2020/12/06 12:0 p.m.•32 views

ordered_float:NotNan may contain NaN after panic in assignment operators

After using an assignment operators such as NotNan::addassign, NotNan::mulassign, etc., it was possible for the resulting NotNan value to contain a NaN. This could cause undefined behavior in safe code, because the safe NotNan::cmp method contains internal unsafe code that assumes the value is...

5.5CVSS2.4AI score0.00387EPSS
SaveExploits1Affected Software1
RustSec
RustSec
•added 2019/06/15 12:0 p.m.•32 views

Format string vulnerabilities in `pancurses`

pancurses::mvprintw and pancurses::printw passes a pointer from a rust &str to C, allowing hostile input to execute a format string attack, which trivially allows writing arbitrary data to stack memory...

7.5CVSS6.4AI score0.01148EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2026/04/13 12:0 p.m.•31 views

`safe-agent-rs` was removed from crates.io for being affiliated with malicious code

While safe-agent-rs did not directly contain malicious code, it was owned by the same user as pretty-changelog-logger and microsoftsystem64. safe-agent-rs also appeared to be imitating a different websocket library. We decided to remove it out of an abundance of caution. This crate had 2 versions...

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

Panic when lifting `flags` component value

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

7.5CVSS5.9AI score0.00324EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2022/08/07 12:0 p.m.•31 views

`tauri`'s `readDir` endpoint allows possible enumeration outside of filesystem scope

It is possible for readDir to incorrectly enumerate files from a symlinked directory if called recursively when specifying an empty string for the dir parameter as outlined in this issue. This is corrected in this PR by checking if a directory is a symlink before reading from it...

8.3CVSS3.7AI score0.00802EPSS
SaveExploits1Affected Software1
RustSec
RustSec
•added 2022/01/23 12:0 p.m.•31 views

Data race in `Iter` and `IterMut`

In the affected version of this crate, Iter, IterMut::next used a weaker memory ordering when loading values than what was required, exposing a potential data race when iterating over a ThreadLocal's values. Crates using Iter::next, or IterMut::next are affected by this issue...

4.2AI score
SaveExploits0Affected Software1
RustSec
RustSec
•added 2021/11/14 12:0 p.m.•31 views

Converting `NSString` to a String Truncates at Null Bytes

Methods of NSString for conversion to a string may return a partial result. Since they call CStr::fromptr on a pointer to the string buffer, the string is terminated at the first null byte, which might not be the end of the string. In addition to the vulnerable functions listed for this issue, th...

7.5CVSS1.5AI score0.01314EPSS
SaveExploits1Affected Software1
RustSec
RustSec
•added 2021/07/08 12:0 p.m.•31 views

Conversion from `prost_types::Timestamp` to `SystemTime` can cause an overflow and panic

Affected versions of this crate contained a bug in which untrusted input could cause an overflow and panic when converting a Timestamp to SystemTime. It is recommended to upgrade to prost-types v0.8 and switch the usage of From for SystemTime to TryFrom for SystemTime. See 438 for more informatio...

7.5CVSS3.6AI score0.01103EPSS
SaveExploits1Affected Software1
RustSec
RustSec
•added 2021/04/28 12:0 p.m.•31 views

Archives may contain uninitialized memory

rkyv is a serialization framework that writes struct-compatible memory to be stored or transmitted. During serialization, struct padding bytes and unused enum bytes may not be initialized. These bytes may be written to disk or sent over unsecured channels...

7.5CVSS2.3AI score0.01079EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2020/10/31 12:0 p.m.•31 views

AtomicOption should have Send + Sync bound on its type argument.

In the affected versions of this crate, AtomicOption unconditionally implements Sync. This allows programmers to move non-Sync types across thread boundaries e.g. Rc, Arc, which can lead to data races and undefined behavior. It is also possible to send non-Send types like std::sync::MutexGuard to...

5.9CVSS3.6AI score0.01107EPSS
SaveExploits1
RustSec
RustSec
•added 2019/10/22 12:0 p.m.•31 views

ChaCha20 counter overflow can expose repetitions in the keystream

The ChaCha20 stream cipher can produce a maximum of 2^32 blocks 256GB before the 32-bit counter overflows. Releases of the chacha20 crate prior to v0.2.3 allow generating keystreams larger than this, including seeking past the limit. When this occurs, the keystream is duplicated, with failure mod...

7.5CVSS1.7AI score0.01309EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2019/09/02 12:0 p.m.•31 views

Internally mutating methods take immutable ref self

Affected versions of this crate exposed several methods which took self by immutable reference, despite the requesting the RenderDoc API to set a mutable value internally. This is technically unsound and calling these methods from multiple threads without synchronization could lead to unexpected...

9.8CVSS2.3AI score0.01796EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2026/06/20 12:0 p.m.•30 views

Unchecked pointer offset in crate `memmap2`

Affected versionf of memmap2 did not perform enough validation on the offset and len parameters of Mmap::uncheckedadviserange, MmapMut::uncheckedadviseranage and MmapMut::flushasyncrange. This can cause undefined behavior due to invalid values being passed to pointer::offset and pointer::add when...

5.9AI score
SaveExploits0Affected Software1
RustSec
RustSec
•added 2023/03/24 12:0 p.m.•30 views

`openssl` `X509Extension::new` and `X509Extension::new_nid` null pointer dereference

These functions would crash when the context argument was None with certain extension types. Thanks to David Benjamin Google for reporting this issue...

6.7AI score
SaveExploits0Affected Software1
RustSec
RustSec
•added 2021/02/19 12:0 p.m.•30 views

StackVec::extend can write out of bounds when size_hint is incorrect

StackVec::extend used the lower and upper bounds from an Iterator's sizehint to determine how many items to push into the stack based vector. If the sizehint implementation returned a lower bound that was larger than the upper bound, StackVec would write out of bounds and overwrite memory on the...

7.5CVSS2.8AI score0.01025EPSS
SaveExploits1Affected Software1
RustSec
RustSec
•added 2021/02/17 12:0 p.m.•30 views

Tape::take_bytes exposes uninitialized memory to a user-provided Read

Affected versions of this crate passed an unininitialized buffer to a user-provided Read instance in Tape::takebytes. This can result in safe Read implementations reading from the uninitialized buffer leading to undefined behavior. The flaw was corrected in commit 1f2dc7f37dd by removing the unsa...

7.5CVSS4.8AI score0.01059EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2021/02/09 12:0 p.m.•30 views

Use-after-free in `subscript_next` and `subscript_prev` wrappers

Affected versions of this crate had an unsound implementation which could pass a pointer to freed memory to ydbsubscriptnextst and ydbsubscriptprevst if the variable and subscripts did not have enough memory allocated on the first call to hold the next variable in the database. For example, the...

9.8CVSS3.2AI score0.01308EPSS
SaveExploits1Affected Software1
RustSec
RustSec
•added 2020/03/24 12:0 p.m.•30 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
SaveExploits1Affected Software1
RustSec
RustSec
•added 2020/01/08 12:0 p.m.•30 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
SaveExploits1Affected Software1
RustSec
RustSec
•added 2018/06/01 12:0 p.m.•30 views

Use after free in CMS Signing

Affected versions of the OpenSSL crate used structures after they'd been freed...

9.8CVSS2.6AI score0.01744EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2026/06/22 12:0 p.m.•29 views

Remote memory exhaustion in quinn-proto from unbounded out-of-order stream reassembly

The Assembler component that assembles unordered stream fragments into consecutive chunks of the stream incurs some overhead for non-contiguous fragments. Readers that read from a RecvStream in order through an AsyncRead impl for example will be sensitive to peers that send fragments while leavin...

7.5CVSS5.8AI score0.00339EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2026/06/04 12:0 p.m.•29 views

surf is unmaintained

The surf crate is unmaintained, and all versions are affected. For alternatives, consider using reqwest or ureq. See this issue for more context...

5.8AI score
SaveExploits0
RustSec
RustSec
•added 2026/05/18 12:0 p.m.•29 views

PAX Header Desynchronization in astral-tokio-tar

Versions of astral-tokio-tar prior to 0.6.2 contain a PAX header interpretation bug that allows manipulated entries to be made selectively visible or invisible during extraction with astral-tokio-tar versus other tar implementations. An attacker could use this differential to smuggle unexpected...

5.8AI score
SaveExploits0Affected Software1
RustSec
RustSec
•added 2026/04/23 12:0 p.m.•29 views

Potential use-after-free due to lack of panic safety in `InlineVec::clear` and `SerVec::clear`

InlineVec::clear and SerVec::clear in rkyv were not panic-safe. Both functions iterate over their elements and call dropinplace on each, updating self.len only after the loop. If an element's Drop implementation panics during the loop, self.len is left at its original value. A subsequent invocati...

5.8AI score
SaveExploits0Affected Software1
RustSec
RustSec
•added 2023/06/21 12:0 p.m.•29 views

memoffset allows reading uninitialized memory

memoffset allows attempt of reading data from address 0 with arbitrary type. This behavior is an undefined behavior because address 0 to std::mem::sizeof may not have valid bit-pattern with T. Old implementation dereferences uninitialized memory obtained from std::mem::alignof. Older implementati...

6.9AI score
SaveExploits0Affected Software1
RustSec
RustSec
•added 2023/01/24 12:0 p.m.•29 views

buf_redux is Unmaintained

Last release was over three years ago. The maintainers have been unreachable to respond to any issues that may or may not include security issues. The repository is now archived and there is no security policy in place to contact the maintainers otherwise. The safety-undocumented unsafe in the...

6.7AI score
SaveExploits0
Total number of security vulnerabilities1167