Description
In the Linux kernel, the following vulnerability has been resolved: dm-crypt: reject the lmk IV mode with AEAD ciphers A "capi:" table line that pairs an AEAD cipher with the lmk IV mode, for example "capi:gcm(aes)-lmk" with the integrity:28:aead option, causes an oops when it is loaded. lmk sets tfms_count to 64, but crypt_alloc_tfms_aead only allocates one transform, so crypt_setkey reads past the end of the tfms_aead array and calls crypto_aead_setkey on the values it finds there. lmk exists for compatibility with Loop-AES, which uses CBC, so refuse it with an AEAD cipher rather than allocate 64 AEAD transforms. The check cannot go in crypt_iv_lmk_ctr with the other lmk checks, because the IV constructor runs after crypt_set_key. Note that this is not a security bug because the memory corruption can only be triggered by root.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
33d2f09fcb357fd1861c4959d1d3505492bf91f8 to < 9a0dab8a9d9975dec14a118b55cae2517aea5ca9affected33d2f09fcb357fd1861c4959d1d3505492bf91f8 to < 962ce265fbf5d87afeb78cf19c12e083ab0ffeb8affected33d2f09fcb357fd1861c4959d1d3505492bf91f8 to < a1a875614dae43b43d311bb9e7a7a70eed78efe6affected33d2f09fcb357fd1861c4959d1d3505492bf91f8 to < 40ea7dfa8cd5f9aed72a55c9ca3008aee5880e6faffected33d2f09fcb357fd1861c4959d1d3505492bf91f8 to < 3195e0daf590683992edb4eed32269e569e04924affected
Linux Linux
Default version status: affected
4.12affected0 to < 4.12unaffected6.6.160 to ≤ 6.6.*unaffected6.12.113 to ≤ 6.12.*unaffected6.18.57 to ≤ 6.18.*unaffected7.2.11 to ≤ 7.2.*unaffected7.3 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/9a0dab8a9d9975dec14a118b55cae2517aea5ca9 ↗
- https://git.kernel.org/stable/c/962ce265fbf5d87afeb78cf19c12e083ab0ffeb8 ↗
- https://git.kernel.org/stable/c/a1a875614dae43b43d311bb9e7a7a70eed78efe6 ↗
- https://git.kernel.org/stable/c/40ea7dfa8cd5f9aed72a55c9ca3008aee5880e6f ↗
- https://git.kernel.org/stable/c/3195e0daf590683992edb4eed32269e569e04924 ↗