CVE-2025-40172
N/A
Summary
In the Linux kernel, the following vulnerability has been resolved:
accel/qaic: Treat remaining == 0 as error in find_and_map_user_pages()
Currently, if find_and_map_user_pages() takes a DMA xfer request from the user with a length field set to 0, or in a rare case, the host receives QAIC_TRANS_DMA_XFER_CONT from the device where resources->xferred_dma_size is equal to the requested transaction size, the function will return 0 before allocating an sgt or setting the fields of the dma_xfer struct. In that case, encode_addr_size_pairs() will try to access the sgt which will lead to a general protection fault.
Return an EINVAL in case the user provides a zero-sized ALP, or the device requests continuation after all of the bytes have been transferred.
Affected Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Linux | Linux | 96d3c1cadedb6ae2e8965e19cd12caa244afbd9c < 48b1d42286bfef7628b1d6c8c28d4e456c90f725 | affected |
| Linux | Linux | 96d3c1cadedb6ae2e8965e19cd12caa244afbd9c < 551f1dfbcb7f3e6ed07f9d6c8c1c64337fcd0ede | affected |
| Linux | Linux | 96d3c1cadedb6ae2e8965e19cd12caa244afbd9c < 1ab9733d14cc9987cc5dcd1f0ad1f416e302e2e6 | affected |
| Linux | Linux | 96d3c1cadedb6ae2e8965e19cd12caa244afbd9c < 11f08c30a3e4157305ba692f1d44cca5fc9a8fca | affected |
| Linux | Linux | d410a96e5cb8c1ec7049c83f2edcd8bbfaf5d9b3 | affected |
| Linux | Linux | 6.4.12 < 6.5 | affected |
| Linux | Linux | 6.5 | affected |
| Linux | Linux | 0 < 6.5 | unaffected |
| Linux | Linux | 6.6.114 <= 6.6.* | unaffected |
| Linux | Linux | 6.12.55 <= 6.12.* | unaffected |
| Linux | Linux | 6.17.5 <= 6.17.* | unaffected |
| Linux | Linux | 6.18 <= * | unaffected |
Weaknesses
References
- https://git.kernel.org/stable/c/48b1d42286bfef7628b1d6c8c28d4e456c90f725
- https://git.kernel.org/stable/c/551f1dfbcb7f3e6ed07f9d6c8c1c64337fcd0ede
- https://git.kernel.org/stable/c/1ab9733d14cc9987cc5dcd1f0ad1f416e302e2e6
- https://git.kernel.org/stable/c/11f08c30a3e4157305ba692f1d44cca5fc9a8fca
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.