Advisories for Cargo/Flatbuffers package

2022

Generated code can read and write out of bounds in safe code

Code generated by flatbuffers' compiler is unsafe but not marked as such. See https://github.com/google/flatbuffers/issues/6627 for details. All users that use generated code by flatbuffers compiler are recommended to: not expose flatbuffer generated code as part of their public APIs audit their code and look for any usage of follow, push, or any method that uses them (e.g. self_follow). Carefuly go through the crates' documentation to understand which "safe" APIs are …

2021

Unsound casting in flatbuffers

The implementation of impl Follow for bool allows to reinterpret arbitrary bytes as a bool. In Rust bool has stringent requirements for its in-memory representation. Use of this function allows to violate these requirements and invoke undefined behaviour in safe code.