RDMA/srp: fix heap information leak on a truncated SRP_CRED_REQ

Summary

CVECVE-2026-90307
StatePUBLISHED
AssignerLinux
Source PriorityCVE Program / NVD first with legacy fallback
Published2026-09-17 17:17:28 UTC
Updated2026-10-19 09:19:24 UTC
DescriptionIn the Linux kernel, the following vulnerability has been resolved: RDMA/srp: fix heap information leak on a truncated SRP_CRED_REQ srp_recv_done() passes wc->byte_len to srp_process_rsp(). It passes nothing to srp_process_cred_req() and srp_process_aer_req(), which read fixed-size fields from the receive buffer without checking that those fields were received. The buffer size is max_ti_iu_len, which comes from the login response and is not validated. A target that advertises 8 and then sends an 8-byte SRP_CRED_REQ makes the initiator read req->tag from beyond the end of the buffer. req->tag is copied into the SRP_CRED_RSP and sent back, so those bytes reach the target. SRP_AER_REQ behaves the same way and also reads req->lun. The leak is 8 bytes per response. max_ti_iu_len also decides which slab cache the buffer comes from. With 8 the buffer is a kmalloc-8 object and the read is entirely outside it: BUG: KASAN: slab-out-of-bounds in srp_recv_done+0x172b/0x1aa0 Read of size 8 at addr ffff888104714da8 by task kworker/u8:3/50 which belongs to the cache kmalloc-8 of size 8 The buggy address is located 0 bytes to the right of allocated 8-byte region [ffff888104714da0, ffff888104714da8) Without KASAN the returned bytes are whatever is next in the slab. One run returned ".strtab". rsp->data[3] in srp_process_rsp() has the same problem: only resp_data_len is checked before it is read. Drop a request that is shorter than the structure being parsed, and check byte_len before the tsk_mgmt read.

Vendor Declared Affected Products

SourceVendorProductVersionPlatforms
CNA Linux Linux affected bb12588a38e6db85e01dceadff7bc161fc92e7d2 3f7fdf561f1ec3b523c39708df00bd808671668d git Not specified
CNA Linux Linux affected bb12588a38e6db85e01dceadff7bc161fc92e7d2 138eb2f0ef02adfe6ad126afad5b54c56b5046ee git Not specified
CNA Linux Linux affected bb12588a38e6db85e01dceadff7bc161fc92e7d2 3787f4c3e0d813d6c56be9f6dfaf66f8551fb0a7 git Not specified
CNA Linux Linux affected bb12588a38e6db85e01dceadff7bc161fc92e7d2 0e7ba617514902501514d577647d866e670dad90 git Not specified
CNA Linux Linux affected bb12588a38e6db85e01dceadff7bc161fc92e7d2 001adf2fe87d1ab677c014a97467bbea5153ae5f git Not specified
CNA Linux Linux affected bb12588a38e6db85e01dceadff7bc161fc92e7d2 dc2272c00d7c00ee2a69b57f7ca9caaefcbdb8cd git Not specified
CNA Linux Linux affected bb12588a38e6db85e01dceadff7bc161fc92e7d2 fa1b33fdab3e79dce83721ead3220200a2dbec22 git Not specified
CNA Linux Linux affected bb12588a38e6db85e01dceadff7bc161fc92e7d2 961ac0f0c5e414abdd6b33fae84b311d9fde0bd0 git Not specified
CNA Linux Linux affected 2.6.37 Not specified
CNA Linux Linux unaffected 2.6.37 semver Not specified
CNA Linux Linux unaffected 5.10.270 5.10.* semver Not specified
CNA Linux Linux unaffected 5.15.221 5.15.* semver Not specified
CNA Linux Linux unaffected 6.1.188 6.1.* semver Not specified
CNA Linux Linux unaffected 6.6.157 6.6.* semver Not specified
CNA Linux Linux unaffected 6.12.110 6.12.* semver Not specified
CNA Linux Linux unaffected 6.18.52 6.18.* semver Not specified
CNA Linux Linux unaffected 7.2.6 7.2.* semver Not specified
CNA Linux Linux unaffected 7.3 * original_commit_for_fix Not specified

References

ReferenceSourceLinkTags
git.kernel.org/stable/c/3787f4c3e0d813d6c56be9f6dfaf66f8551fb0a7 416baaa9-dc9f-4396-8d5f-8c081fb06d67 git.kernel.org
git.kernel.org/stable/c/138eb2f0ef02adfe6ad126afad5b54c56b5046ee 416baaa9-dc9f-4396-8d5f-8c081fb06d67 git.kernel.org
git.kernel.org/stable/c/fa1b33fdab3e79dce83721ead3220200a2dbec22 416baaa9-dc9f-4396-8d5f-8c081fb06d67 git.kernel.org
git.kernel.org/stable/c/0e7ba617514902501514d577647d866e670dad90 416baaa9-dc9f-4396-8d5f-8c081fb06d67 git.kernel.org
git.kernel.org/stable/c/dc2272c00d7c00ee2a69b57f7ca9caaefcbdb8cd 416baaa9-dc9f-4396-8d5f-8c081fb06d67 git.kernel.org
git.kernel.org/stable/c/961ac0f0c5e414abdd6b33fae84b311d9fde0bd0 416baaa9-dc9f-4396-8d5f-8c081fb06d67 git.kernel.org
git.kernel.org/stable/c/001adf2fe87d1ab677c014a97467bbea5153ae5f 416baaa9-dc9f-4396-8d5f-8c081fb06d67 git.kernel.org
git.kernel.org/stable/c/3f7fdf561f1ec3b523c39708df00bd808671668d 416baaa9-dc9f-4396-8d5f-8c081fb06d67 git.kernel.org
CVE Program record CVE.ORG www.cve.org canonical
NVD vulnerability detail NVD nvd.nist.gov canonical, analysis

© CVE.report 2026

Use of this information constitutes acceptance for use in an AS IS condition. There are NO warranties, implied or otherwise, with regard to this information or its use. Any use of this information is at the user's risk. It is the responsibility of user to evaluate the accuracy, completeness or usefulness of any information, opinion, advice or other content. EACH USER WILL BE SOLELY RESPONSIBLE FOR ANY consequences of his or her direct or indirect use of this web site. ALL WARRANTIES OF ANY KIND ARE EXPRESSLY DISCLAIMED. This site will NOT BE LIABLE FOR ANY DIRECT, INDIRECT or any other kind of loss.

CVE, CWE, and OVAL are registred trademarks of The MITRE Corporation and the authoritative source of CVE content is MITRE's CVE web site. This site includes MITRE data granted under the following license.

Free CVE JSON API cve.report/api

CVE.report and Source URL Uptime Status status.cve.report