{"id":"CVE-2026-43469","state":"PUBLISHED","title":"xprtrdma: Decrement re_receiving on the early exit paths","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nxprtrdma: Decrement re_receiving on the early exit paths\n\nIn the event that rpcrdma_post_recvs() fails to create a work request\n(due to memory allocation failure, say) or otherwise exits early, we\nshould decrement ep->re_receiving before returning. Otherwise we will\nhang in rpcrdma_xprt_drain() as re_receiving will never reach zero and\nthe completion will never be triggered.\n\nOn a system with high memory pressure, this can appear as the following\nhung task:\n\n    INFO: task kworker/u385:17:8393 blocked for more than 122 seconds.\n          Tainted: G S          E       6.19.0 #3\n    \"echo 0 > /proc/sys/kernel/hung_task_timeout_secs\" disables this message.\n    task:kworker/u385:17 state:D stack:0     pid:8393  tgid:8393  ppid:2      task_flags:0x4248060 flags:0x00080000\n    Workqueue: xprtiod xprt_autoclose [sunrpc]\n    Call Trace:\n     <TASK>\n     __schedule+0x48b/0x18b0\n     ? ib_post_send_mad+0x247/0xae0 [ib_core]\n     schedule+0x27/0xf0\n     schedule_timeout+0x104/0x110\n     __wait_for_common+0x98/0x180\n     ? __pfx_schedule_timeout+0x10/0x10\n     wait_for_completion+0x24/0x40\n     rpcrdma_xprt_disconnect+0x444/0x460 [rpcrdma]\n     xprt_rdma_close+0x12/0x40 [rpcrdma]\n     xprt_autoclose+0x5f/0x120 [sunrpc]\n     process_one_work+0x191/0x3e0\n     worker_thread+0x2e3/0x420\n     ? __pfx_worker_thread+0x10/0x10\n     kthread+0x10d/0x230\n     ? __pfx_kthread+0x10/0x10\n     ret_from_fork+0x273/0x2b0\n     ? __pfx_kthread+0x10/0x10\n     ret_from_fork_asm+0x1a/0x30","publishedAt":"2026-05-08T14:22:29.550Z","updatedAt":"2026-10-19T19:26:37.543Z","severity":{"score":7.5,"label":"High","version":"3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","source":"Linux"},"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"15788d1d1077ebe029c48842c738876516d85076","status":"affected","lessThan":"7ea69259a60a364f56cf4aa9e2eafb588d1c762b","versionType":"git"},{"version":"15788d1d1077ebe029c48842c738876516d85076","status":"affected","lessThan":"8cb6b5d8296b1f99a8d36849901ebabfe3f749db","versionType":"git"},{"version":"15788d1d1077ebe029c48842c738876516d85076","status":"affected","lessThan":"74c39a47856bddcde7874f2196a00143b5cd0af9","versionType":"git"},{"version":"15788d1d1077ebe029c48842c738876516d85076","status":"affected","lessThan":"49f53ee4e25297d886f14e31f355ad1c2735ddfb","versionType":"git"},{"version":"15788d1d1077ebe029c48842c738876516d85076","status":"affected","lessThan":"8127b5fec04757c2a41ed65bca0b3266968efd3b","versionType":"git"},{"version":"15788d1d1077ebe029c48842c738876516d85076","status":"affected","lessThan":"dc3ebd7e2d73dbd4d317785735ffa6c4a6384ddf","versionType":"git"},{"version":"15788d1d1077ebe029c48842c738876516d85076","status":"affected","lessThan":"7b6275c80a0c81c5f8943272292dfe67730ce849","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/sunrpc/xprtrdma/verbs.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.13","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.13","versionType":"semver"},{"version":"5.15.203","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.167","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.130","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.78","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.19","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"6.19.9","status":"unaffected","lessThanOrEqual":"6.19.*","versionType":"semver"},{"version":"7.0","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/sunrpc/xprtrdma/verbs.c"]}],"references":["https://git.kernel.org/stable/c/7ea69259a60a364f56cf4aa9e2eafb588d1c762b","https://git.kernel.org/stable/c/8cb6b5d8296b1f99a8d36849901ebabfe3f749db","https://git.kernel.org/stable/c/74c39a47856bddcde7874f2196a00143b5cd0af9","https://git.kernel.org/stable/c/49f53ee4e25297d886f14e31f355ad1c2735ddfb","https://git.kernel.org/stable/c/8127b5fec04757c2a41ed65bca0b3266968efd3b","https://git.kernel.org/stable/c/dc3ebd7e2d73dbd4d317785735ffa6c4a6384ddf","https://git.kernel.org/stable/c/7b6275c80a0c81c5f8943272292dfe67730ce849"],"weaknesses":["CWE-667"],"ingestedAt":"2026-10-29T20:11:57.932Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/43xxx/CVE-2026-43469.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-43469","state":"PUBLISHED","datePublished":"2026-05-08T14:22:29.550Z","dateUpdated":"2026-10-19T19:26:37.543Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-05-01T14:12:56.011Z"},"containers":{"cna":{"title":"xprtrdma: Decrement re_receiving on the early exit paths","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nxprtrdma: Decrement re_receiving on the early exit paths\n\nIn the event that rpcrdma_post_recvs() fails to create a work request\n(due to memory allocation failure, say) or otherwise exits early, we\nshould decrement ep->re_receiving before returning. Otherwise we will\nhang in rpcrdma_xprt_drain() as re_receiving will never reach zero and\nthe completion will never be triggered.\n\nOn a system with high memory pressure, this can appear as the following\nhung task:\n\n    INFO: task kworker/u385:17:8393 blocked for more than 122 seconds.\n          Tainted: G S          E       6.19.0 #3\n    \"echo 0 > /proc/sys/kernel/hung_task_timeout_secs\" disables this message.\n    task:kworker/u385:17 state:D stack:0     pid:8393  tgid:8393  ppid:2      task_flags:0x4248060 flags:0x00080000\n    Workqueue: xprtiod xprt_autoclose [sunrpc]\n    Call Trace:\n     <TASK>\n     __schedule+0x48b/0x18b0\n     ? ib_post_send_mad+0x247/0xae0 [ib_core]\n     schedule+0x27/0xf0\n     schedule_timeout+0x104/0x110\n     __wait_for_common+0x98/0x180\n     ? __pfx_schedule_timeout+0x10/0x10\n     wait_for_completion+0x24/0x40\n     rpcrdma_xprt_disconnect+0x444/0x460 [rpcrdma]\n     xprt_rdma_close+0x12/0x40 [rpcrdma]\n     xprt_autoclose+0x5f/0x120 [sunrpc]\n     process_one_work+0x191/0x3e0\n     worker_thread+0x2e3/0x420\n     ? __pfx_worker_thread+0x10/0x10\n     kthread+0x10d/0x230\n     ? __pfx_kthread+0x10/0x10\n     ret_from_fork+0x273/0x2b0\n     ? __pfx_kthread+0x10/0x10\n     ret_from_fork_asm+0x1a/0x30"}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"15788d1d1077ebe029c48842c738876516d85076","status":"affected","lessThan":"7ea69259a60a364f56cf4aa9e2eafb588d1c762b","versionType":"git"},{"version":"15788d1d1077ebe029c48842c738876516d85076","status":"affected","lessThan":"8cb6b5d8296b1f99a8d36849901ebabfe3f749db","versionType":"git"},{"version":"15788d1d1077ebe029c48842c738876516d85076","status":"affected","lessThan":"74c39a47856bddcde7874f2196a00143b5cd0af9","versionType":"git"},{"version":"15788d1d1077ebe029c48842c738876516d85076","status":"affected","lessThan":"49f53ee4e25297d886f14e31f355ad1c2735ddfb","versionType":"git"},{"version":"15788d1d1077ebe029c48842c738876516d85076","status":"affected","lessThan":"8127b5fec04757c2a41ed65bca0b3266968efd3b","versionType":"git"},{"version":"15788d1d1077ebe029c48842c738876516d85076","status":"affected","lessThan":"dc3ebd7e2d73dbd4d317785735ffa6c4a6384ddf","versionType":"git"},{"version":"15788d1d1077ebe029c48842c738876516d85076","status":"affected","lessThan":"7b6275c80a0c81c5f8943272292dfe67730ce849","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/sunrpc/xprtrdma/verbs.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.13","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.13","versionType":"semver"},{"version":"5.15.203","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.167","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.130","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.78","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.19","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"6.19.9","status":"unaffected","lessThanOrEqual":"6.19.*","versionType":"semver"},{"version":"7.0","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/sunrpc/xprtrdma/verbs.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/7ea69259a60a364f56cf4aa9e2eafb588d1c762b"},{"url":"https://git.kernel.org/stable/c/8cb6b5d8296b1f99a8d36849901ebabfe3f749db"},{"url":"https://git.kernel.org/stable/c/74c39a47856bddcde7874f2196a00143b5cd0af9"},{"url":"https://git.kernel.org/stable/c/49f53ee4e25297d886f14e31f355ad1c2735ddfb"},{"url":"https://git.kernel.org/stable/c/8127b5fec04757c2a41ed65bca0b3266968efd3b"},{"url":"https://git.kernel.org/stable/c/dc3ebd7e2d73dbd4d317785735ffa6c4a6384ddf"},{"url":"https://git.kernel.org/stable/c/7b6275c80a0c81c5f8943272292dfe67730ce849"}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","baseScore":7.5,"baseSeverity":"HIGH"},"scenarios":[{"lang":"en","value":"AV:N - The vulnerable function is reached from the RPC-over-RDMA client receive completion path while processing network-delivered RDMA replies from an NFS/RDMA peer. A malicious or compromised remote NFS/RDMA server can influence the receive repost path via reply traffic and credit grants.\nAC:L - The trigger is a deterministic accounting bug on early exits from receive reposting, and a peer can drive reply bursts, high credit grants, and disconnect/reconnect behavior to reach the path. Although memory pressure can help expose one early exit, the rule requires choosing the higher severity option when uncertain.\nPR:N - The remote peer sending RDMA replies does not need privileges on the affected client. The client must already be using an NFS/RDMA transport, but the attacker-side protocol traffic itself is not gated by local kernel privileges.\nUI:N - In a reasonable deployed scenario, the client already has an active NFS/RDMA mount and normal RPC traffic reaches the vulnerable receive path without a further victim action. Exploitation can be driven by the remote peer during ordinary mounted filesystem operation.\nS:U - The effect is confined to the Linux kernel/RPC transport on the same host. It does not cross a separate security authority such as a VM, IOMMU, or sandbox boundary.\nC:N - The bug is a leaked receive-drain accounting reference, not memory corruption or an information disclosure primitive. The investigated paths indicate a hang in disconnect/drain handling rather than exposure of kernel memory.\nI:N - The issue does not provide data modification, arbitrary write, or control-flow manipulation. It only prevents receive-drain completion after the counter is left elevated.\nA:H - The leaked re_receiving count can make rpcrdma_xprt_drain wait forever, producing stuck xprtiod/autoclose work and hung kernel tasks. This is a kernel-level availability failure for the affected NFS/RDMA transport and can persist until recovery or reboot."}]}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-08-05T12:28:10.739Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.13","versionEndExcluding":"5.15.203"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.13","versionEndExcluding":"6.1.167"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.13","versionEndExcluding":"6.6.130"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.13","versionEndExcluding":"6.12.78"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.13","versionEndExcluding":"6.18.19"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.13","versionEndExcluding":"6.19.9"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.13","versionEndExcluding":"7.0"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"id":"CVE-2026-43469","role":"CISA Coordinator","options":[{"Exploitation":"none"},{"Automatable":"yes"},{"Technical Impact":"partial"}],"version":"2.0.3","timestamp":"2026-10-16T15:17:41.397506Z"}}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-667","lang":"en","type":"CWE","description":"CWE-667 Improper Locking"}]}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-10-19T19:26:37.543Z"}}]}}}