U.S. flag   An official website of the United States government
Dot gov

Official websites use .gov
A .gov website belongs to an official government organization in the United States.

Https

Secure .gov websites use HTTPS
A lock (Dot gov) or https:// means you've safely connected to the .gov website. Share sensitive information only on official, secure websites.

Vulnerability Change Records for CVE-2026-64268

Change History

New CVE Received from kernel.org 7/25/2026 6:17:07 AM

Action Type Old Value New Value
Added Description

                  
                
              
In the Linux kernel, the following vulnerability has been resolved:

RDMA/siw: bound Read Response placement to the RREAD length

In drivers/infiniband/sw/siw/siw_qp_rx.c, siw_proc_rresp() places each
inbound Read Response DDP segment at sge->laddr + wqe->processed and then
accumulates wqe->processed, but it never checks the running total against
the sink buffer length on continuation segments. siw_check_sge() resolves
and validates the sink memory only on the first fragment (the if (!*mem)
branch), and siw_rresp_check_ntoh() compares the cumulative length against
wqe->bytes only on the final segment (the !frx->more_ddp_segs guard).

A connected siw peer that answers an outstanding RREAD with Read Response
segments that keep the DDP Last flag clear, carrying more total payload
than the RREAD requested, drives wqe->processed past the validated sink
buffer; the next siw_rx_data() call writes out of bounds at
sge->laddr + wqe->processed. siw runs iWARP over ordinary routable TCP,
so the peer is the remote end of an established RDMA connection and needs
no local privilege.

Bound every segment before placement, exactly as siw_proc_send() and
siw_proc_write() already do for their tagged and untagged paths, and
terminate the connection with a base-or-bounds DDP error when the
Read Response would overrun the sink buffer.

This is the second receive-path length fix for this file. A separate
change rejects an MPA FPDU length that underflows the per-fragment
remainder in the header decode; that guard does not cover this case,
because here each individual segment length is self-consistent and only
the accumulated placement offset overruns the buffer.
Added Reference

                  
                
              
https://git.kernel.org/stable/c/3ef7e052cbd05a8b13a51a07b185a39ec93ee1cf
Added Reference

                  
                
              
https://git.kernel.org/stable/c/423a78ff7928c2601013f73ec6d896f5597d0df5
Added Reference

                  
                
              
https://git.kernel.org/stable/c/595e6537ad1a210da32cbb9a7f91aa73090915ba
Added Reference

                  
                
              
https://git.kernel.org/stable/c/6bc89f34a4597f9f6d41f7a60c67a3153bfe8851
Added Reference

                  
                
              
https://git.kernel.org/stable/c/75c93cd3c421890f49ea93f0b978b9b7bb10e5e3
Added Reference

                  
                
              
https://git.kernel.org/stable/c/7d29f7e9dbd844cae4d3e559cf78324b9642fd6b
Added Reference

                  
                
              
https://git.kernel.org/stable/c/a31b6d18ded3cc32d9ee85a6ff0726d4274887b2
Added Reference

                  
                
              
https://git.kernel.org/stable/c/b2e26c955f8dd7e8d3f16c858db05245ea4fa817
Added Affected

                  
                
              
[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","programFiles":["drivers/infiniband/sw/siw/siw_qp_rx.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","versions":[{"version":"8b6a361b8c482f22ac99c3273285ff16b23fba91","lessThan":"a31b6d18ded3cc32d9ee85a6ff0726d4274887b2","versionType":"git","status":"affected"},{"version":"8b6a361b8c482f22ac99c3273285ff16b23fba91","lessThan":"595e6537ad1a210da32cbb9a7f91aa73090915ba","versionType":"git","status":"affected"},{"version":"8b6a361b8c482f22ac99c3273285ff16b23fba91","lessThan":"3ef7e052cbd05a8b13a51a07b185a39ec93ee1cf","versionType":"git","status":"affected"},{"version":"8b6a361b8c482f22ac99c3273285ff16b23fba91","lessThan":"b2e26c955f8dd7e8d3f16c858db05245ea4fa817","versionType":"git","status":"affected"},{"version":"8b6a361b8c482f22ac99c3273285ff16b23fba91","lessThan":"6bc89f34a4597f9f6d41f7a60c67a3153bfe8851","versionType":"git","status":"affected"},{"version":"8b6a361b8c482f22ac99c3273285ff16b23fba91","lessThan":"423a78ff7928c2601013f73ec6d896f5597d0df5","versionType":"git","status":"affected"},{"version":"8b6a361b8c482f22ac99c3273285ff16b23fba91","lessThan":"75c93cd3c421890f49ea93f0b978b9b7bb10e5e3","versionType":"git","status":"affected"},{"version":"8b6a361b8c482f22ac99c3273285ff16b23fba91","lessThan":"7d29f7e9dbd844cae4d3e559cf78324b9642fd6b","versionType":"git","status":"affected"}]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","programFiles":["drivers/infiniband/sw/siw/siw_qp_rx.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","versions":[{"version":"5.3","status":"affected"},{"version":"0","lessThan":"5.3","versionType":"semver","status":"unaffected"},{"version":"5.10.261","lessThanOrEqual":"5.10.*","versionType":"semver","status":"unaffected"},{"version":"5.15.212","lessThanOrEqual":"5.15.*","versionType":"semver","status":"unaffected"},{"version":"6.1.178","lessThanOrEqual":"6.1.*","versionType":"semver","status":"unaffected"},{"version":"6.6.145","lessThanOrEqual":"6.6.*","versionType":"semver","status":"unaffected"},{"version":"6.12.96","lessThanOrEqual":"6.12.*","versionType":"semver","status":"unaffected"},{"version":"6.18.39","lessThanOrEqual":"6.18.*","versionType":"semver","status":"unaffected"},{"version":"7.1.4","lessThanOrEqual":"7.1.*","versionType":"semver","status":"unaffected"},{"version":"7.2-rc1","lessThanOrEqual":"*","versionType":"original_commit_for_fix","status":"unaffected"}]}]