{ "dataType": "CVE_RECORD", "dataVersion": "5.2", "cveMetadata": { "cveId": "CVE-2024-50208", "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "state": "PUBLISHED", "assignerShortName": "Linux", "dateReserved": "2024-10-21T19:36:19.970Z", "datePublished": "2024-11-08T06:07:58.607Z", "dateUpdated": "2026-08-05T11:42:31.470Z" }, "containers": { "cna": { "providerMetadata": { "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "shortName": "Linux", "dateUpdated": "2026-08-05T11:42:31.470Z" }, "descriptions": [ { "lang": "en", "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nRDMA/bnxt_re: Fix a bug while setting up Level-2 PBL pages\n\nAvoid memory corruption while setting up Level-2 PBL pages for the non MR\nresources when num_pages > 256K.\n\nThere will be a single PDE page address (contiguous pages in the case of >\nPAGE_SIZE), but, current logic assumes multiple pages, leading to invalid\nmemory access after 256K PBL entries in the PDE." } ], "metrics": [ { "cvssV3_1": { "version": "3.1", "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H", "baseScore": 7.8, "baseSeverity": "HIGH" }, "scenarios": [ { "lang": "en", "value": "AV:L - The vulnerable HWQ allocator is reached through the local RDMA verbs uAPI (`/dev/infiniband/uverbs*` ioctl/write: create_cq, create_qp, create_srq, resize_cq), which requires local system access. A remote RoCE peer cannot choose queue depths, so no network-triggered path exists.\nAC:L - The attacker fully controls the single condition needed — the requested queue depth — and can deterministically request a CQ/QP whose PTE count exceeds 256K pages, since the driver's only bound is the firmware-reported `max_cq_wqes`, which was uncapped in all affected versions. No race or unpredictable state is involved in reaching the faulty loop.\nPR:L - The kernel exposes the uverbs character devices with mode 0666 (`uverbs_devnode()`), and RDMA/HPC and container deployments routinely grant unprivileged users direct verbs access — that is the entire point of user-space kernel bypass. No root or capability is required to issue a create_cq/create_qp request.\nUI:N - The attacker triggers the oversized queue allocation entirely from its own process; no action by any other user or administrator is needed. Exploitation completes within a single verbs call sequence.\nS:U - The uninitialized-pointer write and the resulting corruption occur within the kernel's own memory and security authority. Although the misprogrammed PDE also causes device DMA to unintended physical addresses, this remains within the host kernel's authority rather than crossing a VM or sandbox boundary.\nC:H - The bug reads uninitialized vmalloc slots and hands the adapter a PDE whose upper entries are uninitialized DMA memory, so the NIC dereferences arbitrary physical addresses as page-table pages, allowing kernel memory to be DMA'd out; the resulting memory corruption is likewise leverageable for arbitrary read.\nI:H - Writing `src_phys_ptr[i] | PTU_PDE_VALID` through an uninitialized pointer is an arbitrary/wild kernel write of a semi-controlled 64-bit value across up to 512 consecutive slots, and the stale vmalloc page contents can be groomed by the attacker via the page allocator, yielding a control-flow-hijacking primitive.\nA:H - In the common case the stale pointer is NULL (or non-canonical), producing an immediate kernel oops/panic on a fault in the write loop; any successful trigger corrupts kernel memory or programs the NIC with garbage PBL addresses, reliably crashing the system." } ] } ], "affected": [ { "product": "Linux", "vendor": "Linux", "defaultStatus": "unaffected", "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git", "programFiles": [ "drivers/infiniband/hw/bnxt_re/qplib_res.c" ], "versions": [ { "version": "0c4dcd602817502bb3dced7a834a13ef717d65a4", "lessThan": "df6fed0a2a1a5e57f033bca40dc316b18e0d0ce6", "status": "affected", "versionType": "git" }, { "version": "0c4dcd602817502bb3dced7a834a13ef717d65a4", "lessThan": "de5857fa7bcc9a496a914c7e21390be873109f26", "status": "affected", "versionType": "git" }, { "version": "0c4dcd602817502bb3dced7a834a13ef717d65a4", "lessThan": "ea701c1849e7250ea41a4f7493e0a5f136c1d47e", "status": "affected", "versionType": "git" }, { "version": "0c4dcd602817502bb3dced7a834a13ef717d65a4", "lessThan": "87cb3b0054e53e0155b630bdf8fb714ded62565f", "status": "affected", "versionType": "git" }, { "version": "0c4dcd602817502bb3dced7a834a13ef717d65a4", "lessThan": "daac56dd98e1ba814c878ac0acd482a37f2ab94b", "status": "affected", "versionType": "git" }, { "version": "0c4dcd602817502bb3dced7a834a13ef717d65a4", "lessThan": "7988bdbbb85ac85a847baf09879edcd0f70521dc", "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/hw/bnxt_re/qplib_res.c" ], "versions": [ { "version": "5.7", "status": "affected" }, { "version": "0", "lessThan": "5.7", "status": "unaffected", "versionType": "semver" }, { "version": "5.10.229", "lessThanOrEqual": "5.10.*", "status": "unaffected", "versionType": "semver" }, { "version": "5.15.170", "lessThanOrEqual": "5.15.*", "status": "unaffected", "versionType": "semver" }, { "version": "6.1.115", "lessThanOrEqual": "6.1.*", "status": "unaffected", "versionType": "semver" }, { "version": "6.6.59", "lessThanOrEqual": "6.6.*", "status": "unaffected", "versionType": "semver" }, { "version": "6.11.6", "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.7", "versionEndExcluding": "5.10.229" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "5.7", "versionEndExcluding": "5.15.170" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "5.7", "versionEndExcluding": "6.1.115" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "5.7", "versionEndExcluding": "6.6.59" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "5.7", "versionEndExcluding": "6.11.6" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "5.7", "versionEndExcluding": "6.12" } ] } ] } ], "references": [ { "url": "https://git.kernel.org/stable/c/df6fed0a2a1a5e57f033bca40dc316b18e0d0ce6" }, { "url": "https://git.kernel.org/stable/c/de5857fa7bcc9a496a914c7e21390be873109f26" }, { "url": "https://git.kernel.org/stable/c/ea701c1849e7250ea41a4f7493e0a5f136c1d47e" }, { "url": "https://git.kernel.org/stable/c/87cb3b0054e53e0155b630bdf8fb714ded62565f" }, { "url": "https://git.kernel.org/stable/c/daac56dd98e1ba814c878ac0acd482a37f2ab94b" }, { "url": "https://git.kernel.org/stable/c/7988bdbbb85ac85a847baf09879edcd0f70521dc" } ], "title": "RDMA/bnxt_re: Fix a bug while setting up Level-2 PBL pages", "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-50208", "role": "CISA Coordinator", "options": [ { "Exploitation": "none" }, { "Automatable": "no" }, { "Technical Impact": "partial" } ], "version": "2.0.3", "timestamp": "2025-10-01T20:17:28.760065Z" } } } ], "problemTypes": [ { "descriptions": [ { "lang": "en", "type": "CWE", "cweId": "CWE-125", "description": "CWE-125 Out-of-bounds Read" } ] } ], "title": "CISA ADP Vulnrichment", "providerMetadata": { "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "shortName": "CISA-ADP", "dateUpdated": "2025-10-01T20:27:06.387Z" } }, { "title": "CVE Program Container", "references": [ { "url": "https://lists.debian.org/debian-lts-announce/2025/03/msg00002.html" }, { "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:27:02.268Z" } } ] } }