Skip to content

Inventory fails to prohibit standard library access prior to initialization of Rust standard library runtime

Moderate severity GitHub Reviewed Published Sep 11, 2023 to the GitHub Advisory Database • Updated Sep 11, 2023

Package

cargo inventory (Rust)

Affected versions

< 0.2.0

Patched versions

0.2.0

Description

Affected versions allow arbitrary caller-provided code to execute before the lifetime of main.

If the caller-provided code accesses particular pieces of the standard library that require an initialized Rust runtime, such as std::io or std::thread, these may not behave as documented. Panics are likely; UB is possible.

The flaw was corrected by enforcing that only code written within the inventory crate, which is guaranteed not to access runtime-dependent parts of the standard library, runs before main. Caller-provided code is restricted to running at compile time.

References

Published to the GitHub Advisory Database Sep 11, 2023
Reviewed Sep 11, 2023
Last updated Sep 11, 2023

Severity

Moderate

Weaknesses

No CWEs

CVE ID

No known CVE

GHSA ID

GHSA-ghc8-5cgm-5rpf

Source code

Loading Checking history
See something to contribute? Suggest improvements for this vulnerability.