1224 matches found
Double free in `AlignedBox<[T]>::realloc_with_default` when an element's `Drop` panics
Shrinking an AlignedBox takes ownership of the buffer out of self.container with ManuallyDrop::take, destroys the elements past the new length, and only then commits the new Box back into self.container. ManuallyDrop::take moves ownership but not the bits, so until that commit self.container stil...
`greentic-setup-dev` 1.3.34027618345 was removed from crates.io due to containing malicious code
A new version of the greentic-setup-dev crate was published with a variant of the PolinRider malware included that would fire when a project depending on greentic-setup-dev was opened in Visual Studio Code. One malicious version was published on 2026-09-06, approximately 27 hours before removal...
`greentic-setup` 1.3.1-dev.34027618345 was removed from crates.io due to containing malicious code
A new version of the greentic-setup crate was published with a variant of the PolinRider malware included that would fire when a project depending on greentic-setup was opened in Visual Studio Code. One malicious version was published on 2026-09-06, approximately 27 hours before removal. This cra...
`zbus_polkit`: authorization bypass via PID reuse
Subject::newforowner in the zbuspolkit crate encodes the uid entry of a unix-process polkit subject as an unsigned 32-bit integer D-Bus type u, whereas the org.freedesktop.PolicyKit1.Authority interface specifies a signed 32-bit integer D-Bus type i. Because of this type mismatch, polkit silently...
Panic-safety unsoundness in `Stack::pop`, `Fifo::pop_front` and `Value::replace_stable` (use-after-free / double-free)
Three removal and replacement paths destroy an initialized value before committing the metadata change that removes it. Destruction runs T::drop, which is user code and may panic. If it does, the commit is skipped and the container still claims ownership of the already-destroyed value, so its own...
Path traversal in apimock's file-serving fallback
The file-serving fallback joined a request-derived path onto the configured response directory and checked only that the result existed, never that it stayed inside that directory. A request containing a raw .. segment could read any file readable by the process, returned with HTTP 200. Read-only...
Path traversal in apimock-server's file-serving fallback
The file-serving fallback joined a request-derived path onto the configured response directory and checked only that the result existed, never that it stayed inside that directory. A request containing a raw .. segment could read any file readable by the process, returned with HTTP 200. Read-only...
Panic-safety unsoundness in `BitVecCore::clear` (double-free / use-after-free)
BitVecCore::clear drops every occupied element with dropinplace and only afterwards clears the occupancy bits and resets len. If an element's Drop panics, those metadata updates are skipped, so the slot of the already-dropped element stays marked as occupied. BitVecCore::drop calls clear again,...
`internment` 0.8.7 was removed from crates.io due to a malicious dependency
A new version of the internment crate was published with a direct dependency on proc-macro1, which would execute a malicious build script. The compromised version of this crate was published on 2026-08-20, and was removed approximately 90 minutes later. The compromised version was used as part of...
`append-only-vec` 0.1.9 was removed from crates.io due to a malicious dependency
A new version of the append-only-vec crate was published with a direct dependency on proc-macro1, which would execute a malicious build script. The compromised version of this crate was published on 2026-08-20, and was removed approximately 107 minutes later. The compromised crate version was use...
Guest controlled-size host heap allocation through WASIp3 streams
This is an entry in the RustSec database for the Wasmtime security advisory located at https://github.com/bytecodealliance/wasmtime/security/advisories/GHSA-x84v-gj2h-g759 For more information see the GitHub-hosted security advisory...
`arone` was removed from crates.io due to malicious code
We identified that arone contained malicious code executed through a build script. This crate had 7 versions, with the most recent one being published at 2026-08-18. The crate was removed from crates.io on 2026-08-20 and the user account was locked. This crate was used as part of a malware campai...
`proc-macro1` was removed from crates.io due to malicious code
It was reported proc-macro1 contained a build script that would download a malicious payload. This crate had two versions, both published on 2026-08-20. The crate was removed from crates.io and related user accounts were locked. This crate was used as part of a malware campaign targeted at users ...
`arrayref` 0.3.10 was removed from crates.io due to a malicious dependency
A new version of the arrayref crate was published with a direct dependency on proc-macro1, which would execute a malicious build script. This compromised version was published on 2026-08-20 and removed approximately 86 minutes later. It was downloaded 2,285 times, which constituted less than 10% ...
`tinymember` was removed from crates.io due to affiliation with malicious code
While tinymember did not directly contain malicious code, it was owned by the same user as arone and aronenao, which contained suspicious build scripts. This crate had 2 versions published on 2026-08-18 that had a total of 27 downloads. There were no crates depending on this crate on crates.io. T...
`proc-macro-en` was removed from crates.io due to malicious code
We identified that proc-macro-en contained the same build script as proc-macro1 and it was part of the same supply chain attack. This crate had one single version published at 2026-08-20. The crate was removed from crates.io and related user account was locked. This crate was used as part of a...
Filesystem sandbox escape when paths or symlinks contain trailing slashes
This is an entry in the RustSec database for the Wasmtime security advisory located at https://github.com/bytecodealliance/wasmtime/security/advisories/GHSA-vqjp-4c8c-hfgg For more information see the GitHub-hosted security advisory...
`aronenao` was removed from crates.io due to malicious code
We identified that aronenao contained malicious code executed through a build script. This crate had 11 versions, with the most recent one being published at 2026-08-18. The crate was removed from crates.io and the user account was locked. This crate was used as part of a malware campaign targete...
FTP command injection via CRLF in control channel arguments
Affected versions of suppaftp wrote command arguments user name, password, paths, SITE arguments and custom commands to the FTP control channel without validation. An argument containing a carriage return \r or a line feed \n terminated the intended command line and let a second, attacker-chosen...
h2 unbounded empty DATA frames
The h2 crate, used internally by hyper, had a flaw that would accept and queue empty DATA frames without limit. If streams were not actively drained, this could lead to unbounded memory usage, or a panic if the length overflows. Low severity. Patched in v0.4.16...
Legacy `azure_core` writes the `authorization` header value to logs
Applications built on the legacy Azure SDK for Rust azurecore 0.21.0 and earlier write the value of the outgoing authorization header to their logs whenever debug-level logging is enabled, and in every affected version also at trace level. The leaked values are live credentials — Microsoft Entra ...
Panic-safety unsoundness in `Chunk`, `RingBuffer`, and `InlineArray` (use-after-free / double-free)
Several methods in sized-chunks drop elements before updating the length/boundary metadata. If an element's Drop panics during the drop, the metadata update is skipped, so the container still treats the already-dropped elements as live. When the container's own Drop runs, those elements are visit...
Panic-safety unsoundness in `SplitVec::extend_from_slice` (uninitialized read)
SplitVec::extendfromslice increments the logical length self.len before cloning the incoming elements into the reserved slots. If an element's Clone panics mid-fill, unwinding leaves self.len counting slots that were never initialized. A later safe read get, indexing, iter then reads one of those...
Panic-safety unsoundness in `Chunk` and `InlineArray` (use-after-free / double-free)
Several methods in sp-sized-chunks drop elements before updating the container's length/boundary metadata. If an element's Drop panics during the drop, the metadata update is skipped, so the container still treats the already-dropped elements as live. When the container is later dropped, its own...
Panic-safety unsoundness in `truncate_back`, `truncate_front`, `clear`, and `extend_from_slice` (use-after-free / double-free)
Several methods in circular-buffer drop elements before updating the buffer's start/end metadata. If an element's Drop panics during the drop, the metadata update is skipped, so the buffer still treats the already-dropped elements as live. When the buffer is later dropped or used after the panic ...
`sp-sized-chunks` is unmaintained
The sp-sized-chunks crate is a fork of sized-chunks. Its repository is archived and the crate is no longer maintained. Users should migrate to imbl-sized-chunks, a maintained fork...
Safe ErrorRegistry APIs can cause undefined behavior
All published versions of dcrypt-api before 2.0.0 exposed safe ErrorRegistry operations that could trigger undefined behavior when the default std feature was enabled. Stored Box values were erased to raw pointers and later deallocated as Box. The geterror operation also performed an unchecked ca...
Streaming AEAD does not authenticate stream structure
In all published versions of dcrypt-symmetric before 2.0.0, version-1 GCM and ChaCha20-Poly1305 streams used unauthenticated terminator, counter, and length fields. Decryptors trusted transmitted counters, allocated from unbounded lengths, and discarded plaintext that did not fit a caller's singl...
Low-level GCM ignores the operation nonce
In all published versions of dcrypt-algorithms before 2.0.0, the low-level Gcm builder required an operation nonce but derived J0 from the nonce captured by the original Gcm constructor. Multiple operations could therefore silently reuse a nonce even when callers supplied distinct values,...
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...
`sevenz-rust` is unmaintained
The sevenz-rust repository has been deleted and the crate is no longer actively maintained. Users should migrate away from the library in favor of a modern up-to-date 7z library such as sevenz-rust2...
Relative/Absolute Path Traversal (CWE-23/CWE-36) in `decompress_impl` that enables an arbitrary file write.
Summary All versions of sevenz-rust fail to validate file paths when extracting in decompressimpl the underlying function used in the exposed decompress api functions. This oversight allows a maliciously crafted archive to extract outside the extraction directory, from both relative paths such as...
A `BigInt` division panics, and two neighbouring operations answer wrongly in silence
viperjs is a JavaScript engine intended to run untrusted script inside a host application, so script text is data rather than a trusted caller and a panic reachable from script is a denial of service in the embedder's process. A divisor whose magnitude lands exactly on the engine's internal limb...
`setlocale` and `TextDomain::init` are unsound as they access environment with no synchronization
setlocale and TextDomain::init are unsound and may allow safe code to exhibit undefined behavior when called in a multi-threaded program. The flaw is fixed in 0.8.0 by marking these functions unsafe and documenting the conditions under which they can be called safely...
Double free / use-after-free in `ReadChunk::commit` when an element's `Drop` panics
ReadChunk::commit and ReadChunk::commitall drop the committed elements before advancing the consumer head. If an element's Drop panics during the drop loop, head is never advanced, so the ring buffer still treats those slots as holding live elements. When the RingBuffer is later dropped it walks...
`nostr-relay-builder` is unmaintained
The nostr-relay-builder crate is no longer actively maintained as a standalone crate. Its functionality has been incorporated into nostr-sdk starting with version 0.45.0. Users should migrate to nostr-sdk...
`nostr-keyring` is unmaintained
The nostr-keyring crate is no longer actively maintained...
`nostr-relay-pool` is unmaintained
The nostr-relay-pool crate is no longer actively maintained as a standalone crate. Its functionality has been incorporated into nostr-sdk starting with version 0.45.0. Users should migrate to nostr-sdk...
Debug output exposes NIP-46 and NIP-60 credentials
Several NIP-46 and NIP-60 types used derived Debug implementations even though their fields contained credentials or decrypted application data. Formatting these values exposed NIP-46 connection secrets and request parameters, as well as NIP-60 private keys, Cashu bearer proofs, and quote...
NIP-44 v2 decryption permits resource exhaustion
The NIP-44 decryption entry point Base64-decoded the complete attacker-controlled payload before determining its version or enforcing any size limit. For v2 payloads, the decoded buffer was then authenticated with HMAC even when it was much larger than the maximum payload supported by the crate's...
Verification cache poisoning allows forged Nostr events to bypass signature validation
The nostr-relay-pool crate cached the result of event signature verification before the check was actually performed. Because the entry was inserted unconditionally, a first delivery whose signature failed was still recorded in the cache. A subsequent delivery of the same event identical ID, but...
Wallet event parsers accept unauthenticated events
The NIP-47 response and notification parsers and the NIP-60 wallet event parsers decrypted relay-provided events before verifying their kind, computed event ID, signature, and expected wallet public key. The decryption peer was derived from the untrusted event author, so successful decryption did...
Relay authentication challenges can exhaust memory
The SDK forwarded every NIP-42 AUTH challenge received from a relay through an unbounded command queue. Challenge handling can wait for an asynchronous signer or user interaction, so receiving challenges was substantially faster than completing the corresponding authentication work. A malicious...
NIP-04 parsing amplifies malformed ciphertext memory use
The NIP-04 decryption parser split attacker-controlled content on every ?iv= separator and collected all resulting segments before checking that the message had the expected two parts. It also Base64-decoded the complete IV text before checking that it represented the required 16-byte AES-CBC IV....
Empty NIP-50 search filters can panic
The NIP-50 event-matching path searched event content with slice::windowssearch.len. An empty search string therefore called slice::windows0, which always panics instead of returning a match result. A remote client able to submit filters to an application using this matcher could trigger the pani...
Processing of unverified relay events
The processed events received from a relay through admission-policy and database paths before verifying that the serialized fields matched the claimed event ID and signature. In particular, a database result for the claimed ID could cause verification to be skipped. The verification cache also...
NIP-98 authorization parsing permits resource exhaustion
The NIP-98 HTTP authorization parser Base64-decoded the complete authorization value and parsed the resulting JSON event without applying an application-level size limit. Both operations occurred before the event's signature and authorization fields could be validated. An unauthenticated remote...
Stores can mix up type indices between engines
This is an entry in the RustSec database for the Wasmtime security advisory located at https://github.com/bytecodealliance/wasmtime/security/advisories/GHSA-hgjw-h833-99q9 For more information see the GitHub-hosted security advisory...
Preemption and traps during bulk operations enable breaking internal VM state
This is an entry in the RustSec database for the Wasmtime security advisory located at https://github.com/bytecodealliance/wasmtime/security/advisories/GHSA-2hw9-mc66-jc2q For more information see the GitHub-hosted security advisory...
Unix `BROWSER` handling allows browser argument injection
On Unix platforms handled by src/unix.rs, affected versions substitute the caller-supplied URL into the BROWSER environment-variable template before tokenizing the resulting string with splitasciiwhitespace. If an application passes an attacker-controlled non-HTTPS URL whose parsed form retains...