Unratedcrates.ioPublished
Unsoundness in anstream
GHSA-2rxc-gjrp-vjhx
- Affected
- crates.io anstream < 0.6.8
- Fixed in
- 0.6.8· Vendor fix available
- Issue
- When given a valid UTF8 string "ö\x1b😀", the function in crates/anstream/src/adapter/strip.rs will be confused. The UTF8 bytes are \xc3\xb6 then \x1b then \xf0\x9f\x98\x80. When looping over "non-printable bytes" \x1b\xf0 will be considered as some non-printable sequence. This will produce a broken str from the incorrectly segmented bytes via str::fromutf8unchecked, and that should never happen. Full credit goes to @Ralith who reviewed this code and asked @burakemir to follow up.
Recommended action: Upgrade to 0.6.8 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.