{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2024-49855","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","state":"PUBLISHED","assignerShortName":"Linux","dateReserved":"2024-10-21T12:17:06.016Z","datePublished":"2024-10-21T12:18:47.391Z","dateUpdated":"2026-08-05T11:40:05.597Z"},"containers":{"cna":{"providerMetadata":{"orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux","dateUpdated":"2026-08-05T11:40:05.597Z"},"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nnbd: fix race between timeout and normal completion\n\nIf request timetout is handled by nbd_requeue_cmd(), normal completion\nhas to be stopped for avoiding to complete this requeued request, other\nuse-after-free can be triggered.\n\nFix the race by clearing NBD_CMD_INFLIGHT in nbd_requeue_cmd(), meantime\nmake sure that cmd->lock is grabbed for clearing the flag and the\nrequeue."}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","baseScore":9.8,"baseSeverity":"CRITICAL"},"scenarios":[{"lang":"en","value":"AV:N - The race is driven by the NBD reply stream received over TCP in `recv_work()`/`nbd_handle_reply()`, code that processes data from a remote peer; a malicious or compromised NBD server — or an on-path attacker, since the NBD protocol is plaintext and unauthenticated on port 10809 — controls reply timing and content.\nAC:L - The remote server controls both sides of the race: it withholds a reply to force `nbd_xmit_timeout()` to fire, then delivers the reply at that instant to collide with `nbd_requeue_cmd()`, and it can repeat this across many in-flight requests indefinitely at no cost.\nPR:N - The NBD protocol carries no authentication, so the attacking server or MITM needs no credentials or privileges on the victim host; the CAP_SYS_ADMIN gate only covers the victim admin's own legitimate `nbd-client` setup, which is a pre-existing deployment condition rather than an attacker privilege.\nUI:N - No victim action is needed at attack time — an already-established NBD session (diskless boot, cloud block storage) is enough, and a compromised server or on-path attacker triggers the race unilaterally.\nS:U - The use-after-free and block-layer corruption stay within the kernel of the affected host; no VM, IOMMU, or sandbox boundary is crossed.\nC:H - Re-dispatching an already-completed request makes `nbd_send_cmd()` walk freed bio/bvec memory and transmit its contents over the socket to the attacker-controlled server, directly disclosing freed kernel/page-cache data.\nI:H - A re-dispatched READ writes the server's attacker-chosen reply payload into freed and possibly reallocated pages, and the requeue of a reused request corrupts `q->requeue_list`/`rq->queuelist` — a controlled write primitive usable for control-flow hijacking.\nA:H - The double completion and requeue of a freed/reused request reliably produce list corruption, KASAN use-after-free splats, oops, or hang of the storage path and the machine."}]}],"affected":[{"product":"Linux","vendor":"Linux","defaultStatus":"unaffected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/block/nbd.c"],"versions":[{"version":"2895f1831e911ca87d4efdf43e35eb72a0c7e66e","lessThan":"9c25faf72d780a9c71081710cd48759d61ff6e9b","status":"affected","versionType":"git"},{"version":"2895f1831e911ca87d4efdf43e35eb72a0c7e66e","lessThan":"6e73b946a379a1dfbb62626af93843bdfb53753d","status":"affected","versionType":"git"},{"version":"2895f1831e911ca87d4efdf43e35eb72a0c7e66e","lessThan":"5236ada8ebbd9e7461f17477357582f5be4f46f7","status":"affected","versionType":"git"},{"version":"2895f1831e911ca87d4efdf43e35eb72a0c7e66e","lessThan":"9a74c3e6c0d686c26ba2aab66d15ddb89dc139cc","status":"affected","versionType":"git"},{"version":"2895f1831e911ca87d4efdf43e35eb72a0c7e66e","lessThan":"c9ea57c91f03bcad415e1a20113bdb2077bcf990","status":"affected","versionType":"git"},{"version":"cdf62c535a9bfd5ff0eef4b91669da39d8abc0c3","status":"affected","versionType":"git"},{"version":"5171ef20bae852ff38f4cfdb368bcdcc744776d0","status":"affected","versionType":"git"},{"version":"5.17.15","lessThan":"5.18","status":"affected","versionType":"semver"},{"version":"5.18.4","lessThan":"5.19","status":"affected","versionType":"semver"}]},{"product":"Linux","vendor":"Linux","defaultStatus":"affected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/block/nbd.c"],"versions":[{"version":"5.19","status":"affected"},{"version":"0","lessThan":"5.19","status":"unaffected","versionType":"semver"},{"version":"6.1.113","lessThanOrEqual":"6.1.*","status":"unaffected","versionType":"semver"},{"version":"6.6.54","lessThanOrEqual":"6.6.*","status":"unaffected","versionType":"semver"},{"version":"6.10.13","lessThanOrEqual":"6.10.*","status":"unaffected","versionType":"semver"},{"version":"6.11.2","lessThanOrEqual":"6.11.*","status":"unaffected","versionType":"semver"},{"version":"6.12","lessThanOrEqual":"*","status":"unaffected","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.19","versionEndExcluding":"6.1.113"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.19","versionEndExcluding":"6.6.54"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.19","versionEndExcluding":"6.10.13"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.19","versionEndExcluding":"6.11.2"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.19","versionEndExcluding":"6.12"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.17.15"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.18.4"}]}]}],"references":[{"url":"https://git.kernel.org/stable/c/9c25faf72d780a9c71081710cd48759d61ff6e9b"},{"url":"https://git.kernel.org/stable/c/6e73b946a379a1dfbb62626af93843bdfb53753d"},{"url":"https://git.kernel.org/stable/c/5236ada8ebbd9e7461f17477357582f5be4f46f7"},{"url":"https://git.kernel.org/stable/c/9a74c3e6c0d686c26ba2aab66d15ddb89dc139cc"},{"url":"https://git.kernel.org/stable/c/c9ea57c91f03bcad415e1a20113bdb2077bcf990"}],"title":"nbd: fix race between timeout and normal completion","x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"metrics":[{"other":{"type":"ssvc","content":{"id":"CVE-2024-49855","role":"CISA Coordinator","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"version":"2.0.3","timestamp":"2024-10-21T12:56:24.992815Z"}}}],"title":"CISA ADP Vulnrichment","providerMetadata":{"orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","shortName":"CISA-ADP","dateUpdated":"2024-10-21T13:04:11.227Z"}},{"title":"CVE Program Container","references":[{"url":"https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html"}],"providerMetadata":{"orgId":"af854a3a-2127-422b-91ae-364da2661108","shortName":"CVE","dateUpdated":"2025-11-03T22:22:24.136Z"}}]}}