RUSTSEC-2020-0123

Source
https://rustsec.org/advisories/RUSTSEC-2020-0123
Import Source
https://github.com/rustsec/advisory-db/blob/osv/crates/RUSTSEC-2020-0123.json
JSON Data
https://api.osv.dev/v1/vulns/RUSTSEC-2020-0123
Aliases
Published
2020-01-24T12:00:00Z
Modified
2023-11-08T04:03:45.145642Z
Severity
  • 9.8 (Critical) CVSS_V3 - CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H CVSS Calculator
Summary
Contents of uninitialized memory exposed in DeflateOutput's AsyncRead implementation
Details

Affected versions of this crate passes an uninitialized buffer to a user-provided trait function AsyncRead::poll_read().

Arbitrary AsyncRead::poll_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.

The flaw was fixed in commit 5ba266a by ensuring the newly allocated part of the buffer is zero-initialized before passing it to a user-provided AsyncRead::poll_read().

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

Affected packages

crates.io / libp2p-deflate

Package

Name
libp2p-deflate
View open source insights on deps.dev
Purl
pkg:cargo/libp2p-deflate

Affected ranges

Type
SEMVER
Events
Introduced
0.0.0-0
Fixed
0.27.1

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:H/A:H",
    "informational": null,
    "categories": [
        "memory-exposure"
    ]
}