CVE-2026-98323

Summary

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

RDMA/siw: Bound fragmented header copies by the remaining length

siw_get_hdr() can receive an extended DDP/RDMAP header across more than one TCP callback. The first callback may receive most of the header, while the next one still limits the copy to hdrlen - MIN_DDP_HDR instead of the number of missing bytes. This makes the destination move past the end of the header and overwrite the receive state, including fpdu_part_rcvd. A later callback can then use a negative fpdu_part_rcvd value as a copy offset, which creates an OOB write.

Use the number of header bytes already received when calculating the next copy length.

Affected Software

VendorProductVersion RangeStatus
LinuxLinuxe3917c85f41ef1df64e27dc0e46ab0d803c5e73e < 2c6fbcf4bfac0b2b186acc8d91154c0fa24468a7affected
LinuxLinux308cd50f174c95a507527037f4de1a0396aa4325 < af9f5b474a260ad23ffb9793d716a5e3bbce3b48affected
LinuxLinux754209850df8367c954ac1de7671c7430b1f342c < 262dcd809723723ed8a4e05437ec7e9c21a8f17eaffected
LinuxLinux754209850df8367c954ac1de7671c7430b1f342c < eb4d7a946970469b3ab0c762432bf161d5b0836caffected
LinuxLinux754209850df8367c954ac1de7671c7430b1f342c < 8628f8ebf41669302513fb3f0bf0eba38b226742affected
LinuxLinux754209850df8367c954ac1de7671c7430b1f342c < b72dcfb9bf1f0f0147cda03dc59e4002a315067faffected
LinuxLinux754209850df8367c954ac1de7671c7430b1f342c < e6bdfdf3bcb02d0d626a45e8c98b7e63d2fddf9daffected
LinuxLinux754209850df8367c954ac1de7671c7430b1f342c < 9ff797e516dbc1ecb73701ec4c24055712d44411affected
LinuxLinuxe09caa38e10bcf027100cc22b0e3cc745a39ef0aaffected
LinuxLinux0c14f795a9eab9344230f9933798b8ee496f497daffected
LinuxLinux7fada7c6962219b6fc4ff4e62e46a936af110dd9affected
LinuxLinux5.10.150 < 5.10.271affected
LinuxLinux5.15.75 < 5.15.222affected
LinuxLinux5.4.220 < 5.5affected
LinuxLinux5.19.17 < 5.20affected
LinuxLinux6.0.3 < 6.1affected
LinuxLinux6.1affected
LinuxLinux0 < 6.1unaffected
LinuxLinux5.10.271 <= 5.10.*unaffected
LinuxLinux5.15.222 <= 5.15.*unaffected
LinuxLinux6.1.189 <= 6.1.*unaffected
LinuxLinux6.6.158 <= 6.6.*unaffected
LinuxLinux6.12.112 <= 6.12.*unaffected
LinuxLinux6.18.54 <= 6.18.*unaffected
LinuxLinux7.2.8 <= 7.2.*unaffected
LinuxLinux7.3-rc4 <= *unaffected

Weaknesses

References