Description (CNA)
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 (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected e3917c85f41ef1df64e27dc0e46ab0d803c5e73e before 2c6fbcf4bfac0b2b186acc8d91154c0fa24468a7; affected 308cd50f174c95a507527037f4de1a0396aa4325 before af9f5b474a260ad23ffb9793d716a5e3bbce3b48; affected 754209850df8367c954ac1de7671c7430b1f342c before 262dcd809723723ed8a4e05437ec7e9c21a8f17e; affected 754209850df8367c954ac1de7671c7430b1f342c before eb4d7a946970469b3ab0c762432bf161d5b0836c; affected 754209850df8367c954ac1de7671c7430b1f342c before 8628f8ebf41669302513fb3f0bf0eba38b226742; affected 754209850df8367c954ac1de7671c7430b1f342c before b72dcfb9bf1f0f0147cda03dc59e4002a315067f; affected 754209850df8367c954ac1de7671c7430b1f342c before e6bdfdf3bcb02d0d626a45e8c98b7e63d2fddf9d; affected 754209850df8367c954ac1de7671c7430b1f342c before 9ff797e516dbc1ecb73701ec4c24055712d44411; affected e09caa38e10bcf027100cc22b0e3cc745a39ef0a; affected 0c14f795a9eab9344230f9933798b8ee496f497d; affected 7fada7c6962219b6fc4ff4e62e46a936af110dd9; affected 5.10.150 before 5.10.271; affected 5.15.75 before 5.15.222; affected 5.4.220 before 5.5; affected 5.19.17 before 5.20; affected 6.0.3 before 6.1 |
| Linux / Linux | affected 6.1; unaffected 0 before 6.1; unaffected 5.10.271 through 5.10.*; unaffected 5.15.222 through 5.15.*; unaffected 6.1.189 through 6.1.*; unaffected 6.6.158 through 6.6.*; unaffected 6.12.112 through 6.12.*; unaffected 6.18.54 through 6.18.*; unaffected 7.2.8 through 7.2.*; unaffected 7.3 through * |
CWE
No CWE identifiers supplied.
References
- https://git.kernel.org/stable/c/2c6fbcf4bfac0b2b186acc8d91154c0fa24468a7
- https://git.kernel.org/stable/c/af9f5b474a260ad23ffb9793d716a5e3bbce3b48
- https://git.kernel.org/stable/c/262dcd809723723ed8a4e05437ec7e9c21a8f17e
- https://git.kernel.org/stable/c/eb4d7a946970469b3ab0c762432bf161d5b0836c
- https://git.kernel.org/stable/c/8628f8ebf41669302513fb3f0bf0eba38b226742
- https://git.kernel.org/stable/c/b72dcfb9bf1f0f0147cda03dc59e4002a315067f
- https://git.kernel.org/stable/c/e6bdfdf3bcb02d0d626a45e8c98b7e63d2fddf9d
- https://git.kernel.org/stable/c/9ff797e516dbc1ecb73701ec4c24055712d44411