Description
In the Linux kernel, the following vulnerability has been resolved: s390/zcrypt: Fix buffer over-read in cca_cipher2protkey Add validation of both the actual key buffer size and token length fields in all the cca_check_sec*token() functions. Additionally check in cca_gencipherkey() for possible underflow with returned key size. The CCA token structures contain user-controlled len fields that were used in operations without proper validation against both the actual buffer size and minimum token structure size. An attacker could set this field larger than the actual buffer size, leading to reading beyond buffer boundaries. This may result in a kernel crash or exposure of memory via sending this as part of a request down to the crypto card. Also an attacker could have used a very small len value and thus enforce a buffer under-run which may produce similar effects as a over-read. So now a key must - key buf length must be at least sizeof the token struct - the key len field inside the token must fit into the range of sizeof key token struct ... key buf length
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
4bc123b18ce6ae6c42c69d0456b5acbd2f7bc8bd to < 1adfec7be6f34c1073c9cf15040bc4e3fdc6dc51affected4bc123b18ce6ae6c42c69d0456b5acbd2f7bc8bd to < d0951ed366710a1a303b7cb2f8eb3d866cd68fc6affected4bc123b18ce6ae6c42c69d0456b5acbd2f7bc8bd to < 353e442d18084b24fb3ede4e5adfca26b25f0e89affected4bc123b18ce6ae6c42c69d0456b5acbd2f7bc8bd to < a57fd7fcdb63e2d5ceac78bbe825ec986062a9daaffected4bc123b18ce6ae6c42c69d0456b5acbd2f7bc8bd to < 3b2abee2a678607ae27975bc6833785c2002df43affected4bc123b18ce6ae6c42c69d0456b5acbd2f7bc8bd to < 36b230835b8a008266aad22168ca52afacc8a58daffected
Linux Linux
Default version status: affected
5.4affected0 to < 5.4unaffected6.1.191 to ≤ 6.1.*unaffected6.6.160 to ≤ 6.6.*unaffected6.12.114 to ≤ 6.12.*unaffected6.18.44 to ≤ 6.18.*unaffected7.1.8 to ≤ 7.1.*unaffected7.2 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/1adfec7be6f34c1073c9cf15040bc4e3fdc6dc51 ↗
- https://git.kernel.org/stable/c/d0951ed366710a1a303b7cb2f8eb3d866cd68fc6 ↗
- https://git.kernel.org/stable/c/353e442d18084b24fb3ede4e5adfca26b25f0e89 ↗
- https://git.kernel.org/stable/c/a57fd7fcdb63e2d5ceac78bbe825ec986062a9da ↗
- https://git.kernel.org/stable/c/3b2abee2a678607ae27975bc6833785c2002df43 ↗
- https://git.kernel.org/stable/c/36b230835b8a008266aad22168ca52afacc8a58d ↗