Headline
GHSA-8655-xgh5-5vvq: fast-fault has a segmentation fault due to lack of bound check
In this case, the “fast_float::common::AsciiStr::first” method within the “AsciiStr” struct uses the unsafe keyword to reading from memory without performing bounds checking. Specifically, it directly dereferences a pointer offset by "self.ptr". Because of the above reason, the method accesses invalid memory address when it takes an empty string as its input. This approach violates Rust’s memory safety guarantees, as it can lead to invalid memory access if empty buffer is provided.
No patched version for fast-float crate has been released, but a patch is available in the fast-float2 fork.
In this case, the “fast_float::common::AsciiStr::first” method within the “AsciiStr” struct
uses the unsafe keyword to reading from memory without performing bounds checking.
Specifically, it directly dereferences a pointer offset by "self.ptr".
Because of the above reason, the method accesses invalid memory address when it takes an empty string as its input.
This approach violates Rust’s memory safety guarantees, as it can lead to invalid memory access if empty buffer is provided.
No patched version for fast-float crate has been released, but a patch is available in the fast-float2 fork.
References
- aldanor/fast-float-rust#38
- https://rustsec.org/advisories/RUSTSEC-2025-0003.html