Read the docs
TI-2024-38473 Aliases GHSA-v363-rrf2-5fmj

ferris-says has undefined behavior when not using UTF-8

Priority LOW 38Published · Updated

Key facts

Attack vector
—
Privileges required
—
User interaction
—
Attack complexity
—
Impact type
—
Confidentiality · integrity · availability
—
Fix status
Fixed

No CVSS vector from any source. Fix status from GitHub.

Summary

Affected versions receive a `&[u8]` from the caller through a safe API, and pass it directly to the unsafe `str::from_utf8_unchecked` function. The behavior of `ferris_says::say` is undefined if the bytes from the caller don't happen to be valid UTF-8. The flaw was corrected in [ferris-says#21] by using the safe `str::from_utf8` instead, and returning an error on invalid input. However this fix has not yet been published to crates.io as a patch version for 0.2. Separately, [ferris-says#32] has introduced a different API for version 0.3 which accepts input as `&str` rather than `&[u8]`, so is unaffected by this bug. [ferris-says#21]: https://github.com/rust-lang/ferris-says/pull/21 [ferris-says#32]: https://github.com/rust-lang/ferris-says/pull/32

Why it matters now

Fix Fixed ferris-says (crates.io): 0.3.1

SSVC decision points

Not available: CISA has not published SSVC decision points for this record.

Affected products

VendorProductAffected versionsFixed inStatusSource
—ferris-says (crates.io)0.1.2 – 0.2.1—No fix listedGHSA-v363-rrf2-5fmj
—ferris-says (crates.io)0.3.0 to before 0.3.10.3.1Patch availableGHSA-v363-rrf2-5fmj
  • ferris-says (crates.io) Vendor— Affected 0.1.2 – 0.2.1 Fixed in — No fix listed GHSA-v363-rrf2-5fmj
  • ferris-says (crates.io) Vendor— Affected 0.3.0 to before 0.3.1 Fixed in 0.3.1 Patch available GHSA-v363-rrf2-5fmj

Remediation

  • Fix · GHSA-v363-rrf2-5fmj ferris-says (crates.io) Fixed in 0.3.1 Advisory →

Timeline

  1. 2026-10-03 Threatist record created from GHSA-v363-rrf2-5fmj

References

Sources

This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences