The implementation does not enforce alignment requirements on input slices while incorrectly assuming 4-byte alignment through an unsafe call to std::slice::fromrawparts_mut, which breaks the contract and introduces undefined behavior.
This affects Chacha20 encryption and decryption in crypto2.
{ "nvd_published_at": "2021-12-27T00:15:00Z", "cwe_ids": [ "CWE-119" ], "severity": "CRITICAL", "github_reviewed": true, "github_reviewed_at": "2022-01-05T22:55:41Z" }