crypto: af_alg - Fix incorrect boolean values in af_alg_ctx
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 6.1.155, 6.6.109, 6.12.50, 6.16.10
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
In the Linux kernel, the following vulnerability has been resolved: crypto: af_alg - Fix incorrect boolean values in af_alg_ctx Commit 1b34cbbf4f01 ("crypto: af_alg - Disallow concurrent writes in af_alg_sendmsg") changed some fields from bool to 1-bit bitfields of type u32. However, some assignments to these fields, specifically 'more' and 'merge', assign values greater than 1. These relied on C's implicit conversion to bool, such that zero becomes false and nonzero becomes true. With a 1-bit bitfields of type u32 instead, mod 2 of the value is taken instead, resulting in 0 being assigned in some cases when 1 was intended. Fix this by restoring the bool type.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From 0f28c4adbc4a97437874c9b669fd7958a8c6d6ce · fixed in 3a21698ace915a445bce2d0dcfc84b6d2199baf7; From e4c1ec11132ec466f7362a95f36a506ce4dc08c9 · fixed in d382d6daf0184490f366562469a5673f65ee2662; From 1f323a48e9b5ebfe6dc7d130fdf5c3c0e92a07c8 · fixed in 54506c6335690f4ef1b9f154e34f5a604c72c1ed; From 7c4491b5644e3a3708f3dbd7591be0a570135b84 · fixed in 8703940bd30b5ad94408d28d7192db2491cd3592; From 9aee87da5572b3a14075f501752e209801160d3d · fixed in 316b090c2fee964c307a634fecc7df269664b158; From 45bcf60fe49b37daab1acee57b27211ad1574042 · fixed in fbe96bd25423e61273d8831e995260b429d850b6; From 1b34cbbf4f011a121ef7b2d7d6e6920a036d5285 · fixed in d0ca0df179c4b21e2a6c4a4fb637aa8fa14575cb
- Linux Linux
From 6.1.154 · fixed in 6.1.155; From 6.6.108 · fixed in 6.6.109; From 6.12.49 · fixed in 6.12.50; From 6.16.9 · fixed in 6.16.10
- KernelLinux
From 6.1.154 · fixed in 6.1.155; From 6.6.108 · fixed in 6.6.109; From 6.12.49 · fixed in 6.12.50; From 6.16.9 · fixed in 6.16.10
References 7
git.kernel.org
- stable/c/3a21698ace915a445bce2d0dcfc84b6d2199baf7
- stable/c/d382d6daf0184490f366562469a5673f65ee2662
- stable/c/54506c6335690f4ef1b9f154e34f5a604c72c1ed
- stable/c/8703940bd30b5ad94408d28d7192db2491cd3592
- stable/c/316b090c2fee964c307a634fecc7df269664b158
- stable/c/fbe96bd25423e61273d8831e995260b429d850b6
- stable/c/d0ca0df179c4b21e2a6c4a4fb637aa8fa14575cb