mirror of
https://github.com/OMGeeky/advisory-db.git
synced 2026-01-03 18:15:23 +01:00
Merge pull request #699 from JOE1994/0113-marc
marc: Record::read : Custom `Read` on uninitialized buffer may cause UB
This commit is contained in:
20
crates/marc/RUSTSEC-0000-0000.md
Normal file
20
crates/marc/RUSTSEC-0000-0000.md
Normal file
@@ -0,0 +1,20 @@
|
||||
```toml
|
||||
[advisory]
|
||||
id = "RUSTSEC-0000-0000"
|
||||
package = "marc"
|
||||
date = "2021-01-26"
|
||||
url = "https://github.com/blackbeam/rust-marc/issues/7"
|
||||
categories = ["memory-exposure"]
|
||||
|
||||
[versions]
|
||||
patched = [">= 2.0.0"]
|
||||
```
|
||||
|
||||
# Record::read : Custom `Read` on uninitialized buffer may cause UB
|
||||
|
||||
Affected versions of this crate passes an uninitialized buffer to a user-provided `Read` implementation. (`Record::read()`)
|
||||
|
||||
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.
|
||||
|
||||
This flaw was fixed in commit 6299af0 by zero-initializing the newly allocated memory (via `data.resize(len, 0)`) instead of exposing uninitialized memory (`unsafe { data.set_len(len) }`).
|
||||
Reference in New Issue
Block a user