Description
In the Linux kernel, the following vulnerability has been resolved: dm-verity: disable recursive forward error correction There are two problems with the recursive correction: 1. It may cause denial-of-service. In fec_read_bufs, there is a loop that has 253 iterations. For each iteration, we may call verity_hash_for_block recursively. There is a limit of 4 nested recursions - that means that there may be at most 253^4 (4 billion) iterations. Red Hat QE team actually created an image that pushes dm-verity to this limit - and this image just makes the udev-worker process get stuck in the 'D' state. 2. It doesn't work. In fec_read_bufs we store data into the variable "fio->bufs", but fio bufs is shared between recursive invocations, if "verity_hash_for_block" invoked correction recursively, it would overwrite partially filled fio->bufs.
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
a739ff3f543afbb4a041c16cd0182c8e8d366e70 to < 8b821ca892cfeeaf0bedc9fc72717294f67144d5affecteda739ff3f543afbb4a041c16cd0182c8e8d366e70 to < e227d2b229c7529bd98d348efc55262ccf24ab35affecteda739ff3f543afbb4a041c16cd0182c8e8d366e70 to < 897d9006e75f46f8bd7df78faa424327ae6a4bcfaffecteda739ff3f543afbb4a041c16cd0182c8e8d366e70 to < 4220cb37406915c926c0e4a3dbab77cd9cceeb1eaffecteda739ff3f543afbb4a041c16cd0182c8e8d366e70 to < 232948cf600fba69aff36b25d85ef91a73a35756affecteda739ff3f543afbb4a041c16cd0182c8e8d366e70 to < d9f3e47d3fae0c101d9094bc956ed24e7a0ee801affected
Linux Linux
Default version status: affected
4.5affected0 to < 4.5unaffected5.15.209 to ≤ 5.15.*unaffected6.1.167 to ≤ 6.1.*unaffected6.6.130 to ≤ 6.6.*unaffected6.12.78 to ≤ 6.12.*unaffected6.18.6 to ≤ 6.18.*unaffected6.19 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/8b821ca892cfeeaf0bedc9fc72717294f67144d5 ↗
- https://git.kernel.org/stable/c/e227d2b229c7529bd98d348efc55262ccf24ab35 ↗
- https://git.kernel.org/stable/c/897d9006e75f46f8bd7df78faa424327ae6a4bcf ↗
- https://git.kernel.org/stable/c/4220cb37406915c926c0e4a3dbab77cd9cceeb1e ↗
- https://git.kernel.org/stable/c/232948cf600fba69aff36b25d85ef91a73a35756 ↗
- https://git.kernel.org/stable/c/d9f3e47d3fae0c101d9094bc956ed24e7a0ee801 ↗
- https://cert-portal.siemens.com/productcert/html/ssa-082556.html ↗
- https://cert-portal.siemens.com/productcert/html/ssa-019113.html ↗
- https://cert-portal.siemens.com/productcert/html/ssa-457936.html ↗