logo

GHSA-4q83-7cq4-p6wg tokio

Package

Manager: cargo
Name: tokio
Vulnerable Version: >=1.21.0 <1.24.2 || >=1.19.0 <1.20.4 || >=0.2.0 <1.18.5

Severity

Level: Low

CVSS v3.1: CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N/E:U/RL:O/RC:C

CVSS v4.0: CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N

EPSS: N/A pctlN/A

Details

`tokio::io::ReadHalf<T>::unsplit` is Unsound `tokio::io::ReadHalf<T>::unsplit` can violate the `Pin` contract The soundness issue is described in the [tokio/issues#5372](https://github.com/tokio-rs/tokio/issues/5372) Specific set of conditions needed to trigger an issue (a !Unpin type in ReadHalf) is unusual, combined with the difficulty of making any arbitrary use-after-free exploitable in Rust without doing a lot of careful alignment of data types in the surrounding code. The `tokio` feature `io-util` is also required to be enabled to trigger this soundness issue. Thanks to zachs18 reporting the issue to Tokio team responsibly and taiki-e and carllerche appropriately responding and fixing the soundness bug. Tokio before 0.2.0 used `futures` 0.1 that did not have `Pin`, so it is not affected by this issue.

Metadata

Created: 2023-02-04T00:30:37Z
Modified: 2023-02-04T00:30:37Z
Source: https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2023/02/GHSA-4q83-7cq4-p6wg/GHSA-4q83-7cq4-p6wg.json
CWE IDs: []
Alternative ID: N/A
Finding: F113
Auto approve: 1