Commit 5f22aae
authored
Update Rust crate rand to v0.10.1 [SECURITY] (#4222)
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [rand](https://rust-random.github.io/book)
([source](https://redirect.github.com/rust-random/rand)) | dependencies
| patch | `0.10.0` → `0.10.1` |
---
> [!WARNING]
> Some dependencies could not be looked up. Check the [Dependency
Dashboard](../issues/2225) for more information.
---
### Rand is unsound with a custom logger using rand::rng()
[GHSA-cq8v-f236-94qc](https://redirect.github.com/advisories/GHSA-cq8v-f236-94qc)
<details>
<summary>More information</summary>
#### Details
It has been reported (by @​lopopolo) that the `rand` library is
[unsound](https://rust-lang.github.io/unsafe-code-guidelines/glossary.html#soundness-of-code--of-a-library)
(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](https://docs.rs/log/latest/log/#implementing-a-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](https://doc.rust-lang.org/stable/nomicon/references.html),
the behaviour of optimized builds is hard to predict.
#### Severity
Low
#### References
-
[https://github.com/rust-random/rand/pull/1763](https://redirect.github.com/rust-random/rand/pull/1763)
-
[https://rustsec.org/advisories/RUSTSEC-2026-0097.html](https://rustsec.org/advisories/RUSTSEC-2026-0097.html)
-
[https://github.com/advisories/GHSA-cq8v-f236-94qc](https://redirect.github.com/advisories/GHSA-cq8v-f236-94qc)
This data is provided by the [GitHub Advisory
Database](https://redirect.github.com/advisories/GHSA-cq8v-f236-94qc)
([CC-BY
4.0](https://redirect.github.com/github/advisory-database/blob/main/LICENSE.md)).
</details>
---
### Release Notes
<details>
<summary>rust-random/rand (rand)</summary>
###
[`v0.10.1`](https://redirect.github.com/rust-random/rand/blob/HEAD/CHANGELOG.md#0101--2026-02-11)
[Compare
Source](https://redirect.github.com/rust-random/rand/compare/0.10.0...0.10.1)
This release includes a fix for a soundness bug; see [#​1763].
##### Changes
- Document panic behavior of `make_rng` and add `#[track_caller]`
([#​1761])
- Deprecate feature `log` ([#​1763])
[#​1761]: https://redirect.github.com/rust-random/rand/pull/1761
[#​1763]: https://redirect.github.com/rust-random/rand/pull/1763
</details>
---
### Configuration
📅 **Schedule**: (in timezone Etc/UTC)
- Branch creation
- ""
- Automerge
- At any time (no schedule defined)
🚦 **Automerge**: Enabled.
♻ **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.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/PeerDB-io/peerdb).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMzkuNyIsInVwZGF0ZWRJblZlciI6IjQzLjEzOS43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJzZWN1cml0eSJdfQ==-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>1 parent a37cfed commit 5f22aae
1 file changed
Lines changed: 7 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
0 commit comments