Skip to content

Update Rust crate rand to v0.8.6 [SECURITY]#22

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/crate-rand-vulnerability
Open

Update Rust crate rand to v0.8.6 [SECURITY]#22
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/crate-rand-vulnerability

Conversation

@renovate
Copy link
Copy Markdown

@renovate renovate Bot commented Apr 14, 2026

This PR contains the following updates:

Package Type Update Change
rand (source) dependencies patch 0.8.10.8.6

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

GHSA-cq8v-f236-94qc

More information

Details

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 thread_rng features are enabled
  • A custom logger is defined
  • The custom logger accesses rand::rng() (previously rand::thread_rng()) and calls any TryRng (previously RngCore) methods on ThreadRng
  • The ThreadRng (attempts to) reseed while called from the custom logger (this happens every 64 kB of generated data)
  • Trace-level logging is enabled or warn-level logging is enabled and the random source (the getrandom crate) is unable to provide a new seed

TryRng (previously RngCore) methods for ThreadRng use unsafe code to cast *mut BlockRng<ReseedingCore> to &mut BlockRng<ReseedingCore>. When all the above conditions are met this results in an aliased mutable reference, violating the Stacked Borrows rules. Miri is able to detect this violation in sample code. Since construction of aliased mutable references is Undefined Behaviour, the behaviour of optimized builds is hard to predict.

Severity

Low

References

This data is provided by the GitHub Advisory Database (CC-BY 4.0).


Release Notes

rust-random/rand (rand)

v0.8.6

Compare Source

What's Changed

This release back-ports a fix from v0.10. See also #​1763.

Changes
  • Drop the experimental simd_support feature.

New Contributors

Full Changelog: rust-random/rand@0.8.5...0.8.6

v0.8.5

Compare Source

Fixes
  • Fix build on non-32/64-bit architectures (#​1144)
  • Fix "min_const_gen" feature for no_std (#​1173)
  • Check libc::pthread_atfork return value with panic on error (#​1178)
  • More robust reseeding in case ReseedingRng is used from a fork handler (#​1178)
  • Fix nightly: remove unused slice_partition_at_index feature (#​1215)
  • Fix nightly + simd_support: update packed_simd (#​1216)
Rngs
  • StdRng: Switch from HC128 to ChaCha12 on emscripten (#​1142).
    We now use ChaCha12 on all platforms.
Documentation
  • Added docs about rand's use of const generics (#​1150)
  • Better random chars example (#​1157)

v0.8.4

Compare Source

Additions
  • Use const-generics to support arrays of all sizes (#​1104)
  • Implement Clone and Copy for Alphanumeric (#​1126)
  • Add Distribution::map to derive a distribution using a closure (#​1129)
  • Add Slice distribution (#​1107)
  • Add DistString trait with impls for Standard and Alphanumeric (#​1133)
Other
  • Reorder asserts in Uniform float distributions for easier debugging of non-finite arguments
    (#​1094, #​1108)
  • Add range overflow check in Uniform float distributions (#​1108)
  • Deprecate rngs::adapter::ReadRng (#​1130)

v0.8.3

Compare Source

Fixes
  • Fix no-std + alloc build by gating choose_multiple_weighted on std (#​1088)

v0.8.2

Compare Source

Fixes
  • Fix panic in UniformInt::sample_single_inclusive and Rng::gen_range when
    providing a full integer range (eg 0..=MAX) (#​1087)

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • ""
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate Bot requested a review from Clivern as a code owner April 14, 2026 05:21
@renovate renovate Bot changed the title Update Rust crate rand to 0.9 [SECURITY] Update Rust crate rand to 0.9 [SECURITY] - autoclosed Apr 22, 2026
@renovate renovate Bot closed this Apr 22, 2026
@renovate renovate Bot deleted the renovate/crate-rand-vulnerability branch April 22, 2026 21:07
@renovate renovate Bot changed the title Update Rust crate rand to 0.9 [SECURITY] - autoclosed Update Rust crate rand to v0.8.6 [SECURITY] Apr 23, 2026
@renovate renovate Bot reopened this Apr 23, 2026
@renovate renovate Bot force-pushed the renovate/crate-rand-vulnerability branch 2 times, most recently from 3efd434 to a7c5890 Compare April 23, 2026 02:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants