Description
In the Linux kernel, the following vulnerability has been resolved: libceph: Fix slab-out-of-bounds access in auth message processing If a (potentially corrupted) message of type CEPH_MSG_AUTH_REPLY contains a positive value in its result field, it is treated as an error code by ceph_handle_auth_reply() and returned to handle_auth_reply(). Thereafter, an attempt is made to send the preallocated message of type CEPH_MSG_AUTH, where the returned value is interpreted as the size of the front segment to send. If the result value in the message is greater than the size of the memory buffer allocated for the front segment, an out-of-bounds access occurs, and the content of the memory region beyond this buffer is sent out. This patch fixes the issue by treating only negative values in the result field as errors. Positive values are therefore treated as success in the same way as a zero value. Additionally, a BUG_ON is added to __send_prepared_auth_request() comparing the len parameter to front_alloc_len to prevent sending the message if it exceeds the bounds of the allocation and to make it easier to catch any logic flaws leading to this.
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
4e7a5dcd1bbab6560fbc8ada29a840e7a20ed7bc to < c2374b92c729d0388a538b3cde7b3e3b5e55ef39affected4e7a5dcd1bbab6560fbc8ada29a840e7a20ed7bc to < 38fdf04c602d52c42c67fc1617211492753b7e8baffected4e7a5dcd1bbab6560fbc8ada29a840e7a20ed7bc to < 2ae0afd98432536562fa8261538ae795446f0589affected4e7a5dcd1bbab6560fbc8ada29a840e7a20ed7bc to < 408e85ee708b6aa03eeb0220ffa0915f4d407181affected4e7a5dcd1bbab6560fbc8ada29a840e7a20ed7bc to < b7df9fbd4869fdfe09a3f501ffd228486521e062affected4e7a5dcd1bbab6560fbc8ada29a840e7a20ed7bc to < 8517b6c8d2c759918ba0058cb6c7e14d59643202affected4e7a5dcd1bbab6560fbc8ada29a840e7a20ed7bc to < 1c439de70b1c3eb3c6bffa8245c16b9fc318f114affected
Linux Linux
Default version status: affected
2.6.34affected0 to < 2.6.34unaffected5.15.209 to ≤ 5.15.*unaffected6.1.175 to ≤ 6.1.*unaffected6.6.140 to ≤ 6.6.*unaffected6.12.88 to ≤ 6.12.*unaffected6.18.30 to ≤ 6.18.*unaffected7.0.7 to ≤ 7.0.*unaffected7.1 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/c2374b92c729d0388a538b3cde7b3e3b5e55ef39 ↗
- https://git.kernel.org/stable/c/38fdf04c602d52c42c67fc1617211492753b7e8b ↗
- https://git.kernel.org/stable/c/2ae0afd98432536562fa8261538ae795446f0589 ↗
- https://git.kernel.org/stable/c/408e85ee708b6aa03eeb0220ffa0915f4d407181 ↗
- https://git.kernel.org/stable/c/b7df9fbd4869fdfe09a3f501ffd228486521e062 ↗
- https://git.kernel.org/stable/c/8517b6c8d2c759918ba0058cb6c7e14d59643202 ↗
- https://git.kernel.org/stable/c/1c439de70b1c3eb3c6bffa8245c16b9fc318f114 ↗