Description
In the Linux kernel, the following vulnerability has been resolved: svcrdma: Reject Read lists that exceed the page budget Individual Read segment lengths are validated at decode time, but nothing prevents a requester from sending multiple segments whose cumulative length exceeds the rq_pages array budget. When one segment fills the page array exactly, the runtime guard in svc_rdma_build_read_segment() is bypassed because len reaches zero. A subsequent segment then accesses the NULL sentinel slot at rq_pages[rq_maxpages], resulting in a NULL pointer dereference during DMA mapping. Accumulate pages across all Read segments and reject the message at decode time when the total would overflow the page budget.
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
026d958b38c628a1b4ced534808945365e2747a5 to < 08aa4162df91880a79be744aaa9570b04d4875c4affected026d958b38c628a1b4ced534808945365e2747a5 to < beb4e9801f6362436102acc4cc5304b7324f9365affected026d958b38c628a1b4ced534808945365e2747a5 to < e70fdb121171c3eb0ac34eb545721828cd737717affected026d958b38c628a1b4ced534808945365e2747a5 to < 1a3af2262cb384112ef38632de4690682be528b4affected026d958b38c628a1b4ced534808945365e2747a5 to < 465f511f59a0fa7a80d5d1073c4b24f28ea38f58affected026d958b38c628a1b4ced534808945365e2747a5 to < 0ca487abb3bdf581851664b5db21f364caf57682affected
Linux Linux
Default version status: affected
4.13affected0 to < 4.13unaffected6.1.191 to ≤ 6.1.*unaffected6.6.160 to ≤ 6.6.*unaffected6.12.114 to ≤ 6.12.*unaffected6.18.51 to ≤ 6.18.*unaffected7.2.4 to ≤ 7.2.*unaffected7.3 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/08aa4162df91880a79be744aaa9570b04d4875c4 ↗
- https://git.kernel.org/stable/c/beb4e9801f6362436102acc4cc5304b7324f9365 ↗
- https://git.kernel.org/stable/c/e70fdb121171c3eb0ac34eb545721828cd737717 ↗
- https://git.kernel.org/stable/c/1a3af2262cb384112ef38632de4690682be528b4 ↗
- https://git.kernel.org/stable/c/465f511f59a0fa7a80d5d1073c4b24f28ea38f58 ↗
- https://git.kernel.org/stable/c/0ca487abb3bdf581851664b5db21f364caf57682 ↗