Every CVESearch/Get API key

GHSA-v363-rrf2-5fmj

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

No scoreFix available

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.

What each source reports

GitHub AdvisoriesNo score

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

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.

Record
GHSA-v363-rrf2-5fmj
Updated
2026-11-02
OSVNo score

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

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.

Record
GHSA-v363-rrf2-5fmj
Updated
2026-11-02
OSVRUSTSEC-2024-0001No score

Unsound use of str::from_utf8_unchecked on bytes which are not UTF-8

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.

Record
RUSTSEC-2024-0001
Updated
2026-11-02

Affected packages

Affected packages
PackageAffectedFixed
ferris-says
crates.io
0.1.2 to 0.2.1None known
ferris-says
crates.io
0.3.0 up to 0.3.1
0.3.1
ferris-says
crates.io
0.1.3-0 up to 0.3.1
0.3.1

History

History
RecordedChangedSources
first indexedGitHub Advisories, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

GHSA-v363-rrf2-5fmj is a vulnerability with no CVSS score yet in ferris-says, published January 13, 2024. No source lists public exploit code. Fixed in ferris-says 0.3.1.

References

MoveEnter Open