{ "dataType": "CVE_RECORD", "dataVersion": "5.2", "cveMetadata": { "cveId": "CVE-2024-36476", "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "state": "PUBLISHED", "assignerShortName": "Linux", "dateReserved": "2025-01-15T13:08:59.730Z", "datePublished": "2025-01-15T13:10:20.507Z", "dateUpdated": "2026-08-05T11:31:45.783Z" }, "containers": { "cna": { "providerMetadata": { "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "shortName": "Linux", "dateUpdated": "2026-08-05T11:31:45.783Z" }, "descriptions": [ { "lang": "en", "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nRDMA/rtrs: Ensure 'ib_sge list' is accessible\n\nMove the declaration of the 'ib_sge list' variable outside the\n'always_invalidate' block to ensure it remains accessible for use\nthroughout the function.\n\nPreviously, 'ib_sge list' was declared within the 'always_invalidate'\nblock, limiting its accessibility, then caused a\n'BUG: kernel NULL pointer dereference'[1].\n ? __die_body.cold+0x19/0x27\n ? page_fault_oops+0x15a/0x2d0\n ? search_module_extables+0x19/0x60\n ? search_bpf_extables+0x5f/0x80\n ? exc_page_fault+0x7e/0x180\n ? asm_exc_page_fault+0x26/0x30\n ? memcpy_orig+0xd5/0x140\n rxe_mr_copy+0x1c3/0x200 [rdma_rxe]\n ? rxe_pool_get_index+0x4b/0x80 [rdma_rxe]\n copy_data+0xa5/0x230 [rdma_rxe]\n rxe_requester+0xd9b/0xf70 [rdma_rxe]\n ? finish_task_switch.isra.0+0x99/0x2e0\n rxe_sender+0x13/0x40 [rdma_rxe]\n do_task+0x68/0x1e0 [rdma_rxe]\n process_one_work+0x177/0x330\n worker_thread+0x252/0x390\n ? __pfx_worker_thread+0x10/0x10\n\nThis change ensures the variable is available for subsequent operations\nthat require it.\n\n[1] https://lore.kernel.org/linux-rdma/6a1f3e8f-deb0-49f9-bc69-a9b03ecfcda7@fujitsu.com/" } ], "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 rtrs server listens via RDMA CM on RDMA_PS_TCP (RoCEv2/iWARP, routable over ordinary IP networks) and RDMA_PS_IB, and the vulnerable function is invoked purely in response to messages sent by a remote peer over the established QP. No local access is needed.\nAC:L - The `always_invalidate` module parameter defaults to true, so the defective branch is the default code path, and a single RTRS_MSG_WRITE with an unrecognized RNBD header type (or any ordinary write I/O completion) deterministically reaches `send_io_resp_imm()`. There is no race to win and no memory grooming required.\nPR:N - `rtrs_rdma_connect()` validates only RTRS_MAGIC, the protocol major version, and a UUID chosen by the client — the RTRS/RNBD wire protocol contains no authentication whatsoever. The `send_err_msg:` path into the vulnerable function is reachable before any block device has been opened on the session.\nUI:N - The server processes incoming RDMA work completions in a kernel workqueue with no operator involvement. No victim action is required beyond the storage server already running rnbd_server/rtrs_server.\nS:U - The dangling stack descriptor is consumed by kernel code and the resulting reads and crash occur within the kernel's own security authority. No VM, IOMMU, or sandbox boundary is crossed.\nC:H - The out-of-lifetime `ib_sge` supplies an unbounded address/length pair under `local_dma_lkey`; `rxe_mr_copy()` short-circuits to `rxe_mr_copy_dma()` before `mr_check_range()`, memcpy'ing from that raw kernel virtual address into the outbound packet with no bounds check. Arbitrary kernel memory is therefore transmitted to the unauthenticated remote peer.\nI:H - The RDMA device is handed a work-request descriptor built entirely from out-of-lifetime memory, and the corrupted rkey response it produces is stored unvalidated by the peer (`clt_path->rbufs[buf_id].rkey = le32_to_cpu(msg->rkey)`), so subsequent server-to-client RDMA writes target an attacker-unintended memory region. Combined with the unchecked DMA-MR access primitive this is treated as a high integrity impact.\nA:H - The reported and reproduced consequence is a kernel page fault oops (`BUG: kernel NULL pointer dereference` in `rxe_mr_copy`/`memcpy_orig` from the `rxe_sender` workqueue), and failed posts additionally drive `close_path()`, tearing down the storage session. This is remotely and repeatedly triggerable." } ] } ], "affected": [ { "product": "Linux", "vendor": "Linux", "defaultStatus": "unaffected", "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git", "programFiles": [ "drivers/infiniband/ulp/rtrs/rtrs-srv.c" ], "versions": [ { "version": "9cb837480424e78ed585376f944088246685aec3", "lessThan": "7eaa71f56a6f7ab87957213472dc6d4055862722", "status": "affected", "versionType": "git" }, { "version": "9cb837480424e78ed585376f944088246685aec3", "lessThan": "143378075904e78b3b2a810099bcc3b3d82d762f", "status": "affected", "versionType": "git" }, { "version": "9cb837480424e78ed585376f944088246685aec3", "lessThan": "32e1e748a85bd52b20b3857d80fd166d22fa455a", "status": "affected", "versionType": "git" }, { "version": "9cb837480424e78ed585376f944088246685aec3", "lessThan": "b238f61cc394d5fef27b26d7d9aa383ebfddabb0", "status": "affected", "versionType": "git" }, { "version": "9cb837480424e78ed585376f944088246685aec3", "lessThan": "6ffb5c1885195ae5211a12b4acd2d51843ca41b0", "status": "affected", "versionType": "git" }, { "version": "9cb837480424e78ed585376f944088246685aec3", "lessThan": "fb514b31395946022f13a08e06a435f53cf9e8b3", "status": "affected", "versionType": "git" } ] }, { "product": "Linux", "vendor": "Linux", "defaultStatus": "affected", "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git", "programFiles": [ "drivers/infiniband/ulp/rtrs/rtrs-srv.c" ], "versions": [ { "version": "5.8", "status": "affected" }, { "version": "0", "lessThan": "5.8", "status": "unaffected", "versionType": "semver" }, { "version": "5.10.233", "lessThanOrEqual": "5.10.*", "status": "unaffected", "versionType": "semver" }, { "version": "5.15.176", "lessThanOrEqual": "5.15.*", "status": "unaffected", "versionType": "semver" }, { "version": "6.1.124", "lessThanOrEqual": "6.1.*", "status": "unaffected", "versionType": "semver" }, { "version": "6.6.70", "lessThanOrEqual": "6.6.*", "status": "unaffected", "versionType": "semver" }, { "version": "6.12.9", "lessThanOrEqual": "6.12.*", "status": "unaffected", "versionType": "semver" }, { "version": "6.13", "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.8", "versionEndExcluding": "5.10.233" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "5.8", "versionEndExcluding": "5.15.176" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "5.8", "versionEndExcluding": "6.1.124" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "5.8", "versionEndExcluding": "6.6.70" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "5.8", "versionEndExcluding": "6.12.9" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "5.8", "versionEndExcluding": "6.13" } ] } ] } ], "references": [ { "url": "https://git.kernel.org/stable/c/7eaa71f56a6f7ab87957213472dc6d4055862722" }, { "url": "https://git.kernel.org/stable/c/143378075904e78b3b2a810099bcc3b3d82d762f" }, { "url": "https://git.kernel.org/stable/c/32e1e748a85bd52b20b3857d80fd166d22fa455a" }, { "url": "https://git.kernel.org/stable/c/b238f61cc394d5fef27b26d7d9aa383ebfddabb0" }, { "url": "https://git.kernel.org/stable/c/6ffb5c1885195ae5211a12b4acd2d51843ca41b0" }, { "url": "https://git.kernel.org/stable/c/fb514b31395946022f13a08e06a435f53cf9e8b3" } ], "title": "RDMA/rtrs: Ensure 'ib_sge list' is accessible", "x_generator": { "engine": "bippy-1.2.0" } }, "adp": [ { "metrics": [ { "cvssV3_1": { "scope": "UNCHANGED", "version": "3.1", "baseScore": 5.5, "attackVector": "LOCAL", "baseSeverity": "MEDIUM", "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H", "integrityImpact": "NONE", "userInteraction": "NONE", "attackComplexity": "LOW", "availabilityImpact": "HIGH", "privilegesRequired": "LOW", "confidentialityImpact": "NONE" } }, { "other": { "type": "ssvc", "content": { "id": "CVE-2024-36476", "role": "CISA Coordinator", "options": [ { "Exploitation": "none" }, { "Automatable": "no" }, { "Technical Impact": "partial" } ], "version": "2.0.3", "timestamp": "2025-10-01T19:54:29.846906Z" } } } ], "problemTypes": [ { "descriptions": [ { "lang": "en", "type": "CWE", "cweId": "CWE-476", "description": "CWE-476 NULL Pointer Dereference" } ] } ], "title": "CISA ADP Vulnrichment", "providerMetadata": { "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "shortName": "CISA-ADP", "dateUpdated": "2025-10-01T19:57:18.837Z" } }, { "title": "CVE Program Container", "references": [ { "url": "https://lists.debian.org/debian-lts-announce/2025/03/msg00001.html" }, { "url": "https://lists.debian.org/debian-lts-announce/2025/03/msg00002.html" } ], "providerMetadata": { "orgId": "af854a3a-2127-422b-91ae-364da2661108", "shortName": "CVE", "dateUpdated": "2025-11-03T20:37:45.505Z" } } ] } }