shadowsocks/crypto2 · Security
Use of a Broken or Risky Cryptographic Algorithm in crypto2
- GHSA ID
- GHSA-9hfg-pxr6-q4vp
- CVE ID
- CVE-2021-45709
- Severity
- critical
- Published
- Updated
- CVSS
- 9.8 · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- CVSS v3
- 9.8 · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Description
The implementation does not enforce alignment requirements on input slices while incorrectly assuming 4-byte alignment through an unsafe call to std::slice::from_raw_parts_mut, which breaks the contract and introduces undefined behavior.
This affects Chacha20 encryption and decryption in crypto2.
CWEs
- CWE-119 · Improper Restriction of Operations within the Bounds of a Memory Buffer
References
- https://nvd.nist.gov/vuln/detail/CVE-2021-45709 ↗
- https://raw.githubusercontent.com/rustsec/advisory-db/main/crates/crypto2/RUSTSEC-2021-0121.md ↗
- https://rustsec.org/advisories/RUSTSEC-2021-0121.html ↗
- https://github.com/shadowsocks/crypto2/issues/27 ↗
- https://github.com/advisories/GHSA-9hfg-pxr6-q4vp ↗