Unratedcrates.ioPublished
The kstring integration in gix-attributes is unsound
GHSA-cx7h-h87r-jpgr
- Affected
- crates.io gix-attributes < 0.22.3
- Fixed in
- 0.22.3· Vendor fix available
- Issue
- gix-attributes (in state::ValueRef) unsafely creates a &str from a &[u8] containing non-UTF8 data, with the justification that so long as nothing reads the &str and relies on it being UTF-8 in the &str, there is no UB: The problem is that the non-UTF8 str is exposed to outside code: first to the kstring crate itself, which requires UTF-8 in its documentation and may have UB as a consequence of this, but also to serde, where it propagates to e.g. serdejson, serdeyaml, etc., where the same problems occur. This is not sound, and it could cause further UB down the line in these places that can view the &str.
Recommended action: Upgrade to 0.22.3 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.