Medium, CVSS 6.6crates.ioPublished
simd-json-derive vulnerable to MaybeUninit misuse
GHSA-pqpw-89w5-82v5
- Affected
- crates.io simd-json-derive < 0.12.0
- Fixed in
- 0.12.0· Vendor fix available
- Issue
- An invalid use of MaybeUninit::uninit().assumeinit() in simd-json-derive's derive macro can cause undefined behavior. The original code used MaybeUninit to avoid initialisation of the struct and then set the fields using ptr::write. The undefined behavior triggered by this misuse of MaybeUninit can lead to invlaid memory access and panics in binaries compiled in release mode (aka simd-json-derive prior to version 0.12 has UB and optimizes into some nonsense) The version 0.12.0 removes this section of code, avoiding the use of MaybeUninit alltogether.
Recommended action: Upgrade to 0.12.0 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.