From c487b0ceea044b4b27ba4b72c5cf49e279628d6a Mon Sep 17 00:00:00 2001 From: Youngsuk Kim Date: Sat, 21 Aug 2021 21:23:49 -0400 Subject: [PATCH] flumedb: Reading on uninitialized buffer may cause UB ( `read_entry()` ) (#661) * Report 0100-flumedb to RustSec * informational = "unsound" --- crates/flumedb/RUSTSEC-0000-0000.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 crates/flumedb/RUSTSEC-0000-0000.md diff --git a/crates/flumedb/RUSTSEC-0000-0000.md b/crates/flumedb/RUSTSEC-0000-0000.md new file mode 100644 index 0000000..68cf1e6 --- /dev/null +++ b/crates/flumedb/RUSTSEC-0000-0000.md @@ -0,0 +1,20 @@ +```toml +[advisory] +id = "RUSTSEC-0000-0000" +package = "flumedb" +date = "2021-01-07" +url = "https://github.com/sunrise-choir/flumedb-rs/issues/10" +categories = ["memory-exposure"] +informational = "unsound" + +[versions] +patched = [] +``` + +# `Read` on uninitialized buffer may cause UB ( `read_entry()` ) + +Affected versions of this crate passes an uninitialized buffer to a user-provided `Read` implementation. +There are two of such cases (`go_offset_log::read_entry()` & `offset_log::read_entry()`). + +Arbitrary `Read` implementations can read from the uninitialized buffer (memory exposure) and also can return incorrect number of bytes written to the buffer. +Reading from uninitialized memory produces undefined values that can quickly invoke undefined behavior.