{"id":"CVE-2026-74429","state":"PUBLISHED","title":"rxrpc: Fix the reception of a reply packet before data transmission","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nrxrpc: Fix the reception of a reply packet before data transmission\n\nFix rxrpc_receiving_reply() to handle the reception of an apparent reply\nDATA packet before rxrpc has had a chance to send any request DATA packets\non a client call by checking to see if the call has been exposed yet by\nsending the first packet.\n\nWithout this, rxrpc_rotate_tx_window() might oops.\n\nAlso fix rxrpc_rotate_tx_window() to handle the Tx queue being empty by\nchanging the do...while loop into a while loop, just in case a call is\nabnormally terminated by an early reply before the last request packet is\ntransmitted.","publishedAt":"2026-08-15T05:59:30.286Z","updatedAt":"2026-08-17T05:47:04.412Z","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":"b341a0263b1b804d329f864c2dc24815364510ec","status":"affected","lessThan":"f9be514984471ff0003738b2e1efed12bc3433ff","versionType":"git"},{"version":"b341a0263b1b804d329f864c2dc24815364510ec","status":"affected","lessThan":"e220ae559e5a0fc33e41ec6a348ea50387cb8b0f","versionType":"git"},{"version":"b341a0263b1b804d329f864c2dc24815364510ec","status":"affected","lessThan":"a58e33405acd2584e730c1da72635f822ada6b49","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/rxrpc/input.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"6.14","status":"affected"},{"version":"0","status":"unaffected","lessThan":"6.14","versionType":"semver"},{"version":"6.18.40","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.1.5","status":"unaffected","lessThanOrEqual":"7.1.*","versionType":"semver"},{"version":"7.2","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/rxrpc/input.c"]}],"references":["https://git.kernel.org/stable/c/f9be514984471ff0003738b2e1efed12bc3433ff","https://git.kernel.org/stable/c/e220ae559e5a0fc33e41ec6a348ea50387cb8b0f","https://git.kernel.org/stable/c/a58e33405acd2584e730c1da72635f822ada6b49"],"weaknesses":[],"ingestedAt":"2026-10-29T20:12:58.252Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/74xxx/CVE-2026-74429.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-74429","state":"PUBLISHED","datePublished":"2026-08-15T05:59:30.286Z","dateUpdated":"2026-08-17T05:47:04.412Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-08-15T05:44:03.895Z"},"containers":{"cna":{"title":"rxrpc: Fix the reception of a reply packet before data transmission","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nrxrpc: Fix the reception of a reply packet before data transmission\n\nFix rxrpc_receiving_reply() to handle the reception of an apparent reply\nDATA packet before rxrpc has had a chance to send any request DATA packets\non a client call by checking to see if the call has been exposed yet by\nsending the first packet.\n\nWithout this, rxrpc_rotate_tx_window() might oops.\n\nAlso fix rxrpc_rotate_tx_window() to handle the Tx queue being empty by\nchanging the do...while loop into a while loop, just in case a call is\nabnormally terminated by an early reply before the last request packet is\ntransmitted."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"b341a0263b1b804d329f864c2dc24815364510ec","status":"affected","lessThan":"f9be514984471ff0003738b2e1efed12bc3433ff","versionType":"git"},{"version":"b341a0263b1b804d329f864c2dc24815364510ec","status":"affected","lessThan":"e220ae559e5a0fc33e41ec6a348ea50387cb8b0f","versionType":"git"},{"version":"b341a0263b1b804d329f864c2dc24815364510ec","status":"affected","lessThan":"a58e33405acd2584e730c1da72635f822ada6b49","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/rxrpc/input.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"6.14","status":"affected"},{"version":"0","status":"unaffected","lessThan":"6.14","versionType":"semver"},{"version":"6.18.40","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.1.5","status":"unaffected","lessThanOrEqual":"7.1.*","versionType":"semver"},{"version":"7.2","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/rxrpc/input.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/f9be514984471ff0003738b2e1efed12bc3433ff"},{"url":"https://git.kernel.org/stable/c/e220ae559e5a0fc33e41ec6a348ea50387cb8b0f"},{"url":"https://git.kernel.org/stable/c/a58e33405acd2584e730c1da72635f822ada6b49"}],"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 bug is reached when a remote UDP RxRPC DATA reply is processed on an established client call via rxrpc_encap_rcv(), rxrpc_input_packet_on_conn(), and rxrpc_input_data(); a malicious or compromised AFS/RxRPC server peer can send that early reply over the network to any kAFS/AF_RXRPC client.\nAC:L - The remote server controls both sides of the timing race—it can send a reply DATA packet immediately after the client call is live on the channel but before RXRPC_CALL_EXPOSED/first transmit—and can retry on every RPC without depending on memory layout or other uncontrollable conditions.\nPR:N - No local credentials or kernel capabilities on the victim are required; exploitation only needs the attacker to act as the established RxRPC server peer able to send call-bound DATA packets on an active client connection after the normal security handshake.\nUI:N - Once the victim host has an active client call (normal kAFS file access or AF_RXRPC sendmsg), the kernel rxrpc I/O thread autonomously processes the attacker's early reply with no further interactive victim action at exploit time.\nS:U - The oops in rxrpc_rotate_tx_window() affects only kernel memory and threads within the same security authority on the client host; it does not cross VM, container, IOMMU, or sandbox boundaries.\nC:N - The defect is a NULL dereference from a do...while loop that executes once on an empty Tx queue when seq exceeds tx_top (tq or tq->bufs[ix] is NULL); this is a pure crash path, not an out-of-bounds read or use-after-free disclosure primitive.\nI:N - No attacker-controlled memory is written; the failure dereferences NULL or uninitialized txqueue entries before any buffer rotation or put_txbuf logic completes, yielding only a kernel fault without integrity modification capability.\nA:H - Without the fix, rxrpc_rotate_tx_window() oopses the rxrpc I/O kernel thread that services all RxRPC/AFS traffic on that endpoint; a malicious server can trigger this on every client RPC call, causing repeated kernel crashes or hangs."}]}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-08-17T05:47:04.412Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.14","versionEndExcluding":"6.18.40"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.14","versionEndExcluding":"7.1.5"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.14","versionEndExcluding":"7.2"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}}}}}