RUSTSEC-2021-0014

Source
https://rustsec.org/advisories/RUSTSEC-2021-0014
Import Source
https://github.com/rustsec/advisory-db/blob/osv/crates/RUSTSEC-2021-0014.json
JSON Data
https://api.osv.dev/v1/vulns/RUSTSEC-2021-0014
Aliases
Published
2021-01-26T12:00:00Z
Modified
2023-11-08T04:05:20.909149Z
Severity
  • 7.5 (High) CVSS_V3 - CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N CVSS Calculator
Summary
Record::read : Custom `Read` on uninitialized buffer may cause UB
Details

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) }).

Database specific
{
    "license": "CC0-1.0"
}
References

Affected packages

crates.io / marc

Package

Affected ranges

Type
SEMVER
Events
Introduced
0.0.0-0
Fixed
2.0.0

Ecosystem specific

{
    "affected_functions": null,
    "affects": {
        "os": [],
        "functions": [],
        "arch": []
    }
}

Database specific

{
    "cvss": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N",
    "informational": null,
    "categories": [
        "memory-exposure"
    ]
}