{"id":"CVE-2026-92525","summary":"RDMA/rxe: Validate num_sge/cur_sge before indexing wqe-\u003edma.sge[]","details":"In the Linux kernel, the following vulnerability has been resolved:\n\nRDMA/rxe: Validate num_sge/cur_sge before indexing wqe-\u003edma.sge[]\n\nFor a user QP, qp-\u003esq.queue is a ring the application writes directly,\nso rxe_post_send() takes the is_user branch and only schedules send_task\nwithout validating the WQE. rxe_requester() consumes it in place via\nreq_next_wqe() and calls copy_data(), which indexes\n&wqe-\u003edma.sge[cur_sge] with the attacker-controlled num_sge/cur_sge.\nOnly the kernel path bounds num_sge (validate_send_wr()); the user WQE\nis never checked, so a local unprivileged user can post a WQE with an\nout-of-range cur_sge or oversized num_sge and force an out-of-bounds\nread of the per-WQE sge array in copy_data() (vmalloc OOB read, local\nDoS).\n\nBound num_sge to qp-\u003esq.max_sge in rxe_requester() before use, the way\nget_srq_wqe() already guards SRQ entries, and bound cur_sge only when\nthe WQE carries payload (dma.resid): copy_data() returns early on a\nzero-length copy before touching dma-\u003esge[], so a zero-payload WQE --\nthe only kind a max_sge == 0 QP can post -- stays valid.\n\nReproduced under KASAN; the vmalloc-out-of-bounds in copy_data() is gone.","modified":"2026-09-19T03:47:26.529013527Z","published":"2026-09-17T16:10:30.789Z","database_specific":{"cna_assigner":"Linux","osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/92xxx/CVE-2026-92525.json"},"references":[{"type":"WEB","url":"https://git.kernel.org/stable/c/126c757e4cd46f866ddc283143b58eb4d9bf52cd"},{"type":"WEB","url":"https://git.kernel.org/stable/c/13cb7160e5b791f5e3ecf9311cf32849fe7e9b62"},{"type":"WEB","url":"https://git.kernel.org/stable/c/5ec111ddc1f727c1e4580aea459842ae5a8359a5"},{"type":"WEB","url":"https://git.kernel.org/stable/c/69d3ccf6543f24c452a020c8028ca6f46cb1e8db"},{"type":"WEB","url":"https://git.kernel.org/stable/c/750bba6ce9bb0b11d6a166031c9728ae3f21765e"},{"type":"WEB","url":"https://git.kernel.org/stable/c/c067aa7b231e91a18a1b3666201ab14dfb00347a"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/92xxx/CVE-2026-92525.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-92525"},{"type":"PACKAGE","url":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"8700e3e7c4857d28ebaa824509934556da0b3e76"},{"fixed":"69d3ccf6543f24c452a020c8028ca6f46cb1e8db"},{"fixed":"750bba6ce9bb0b11d6a166031c9728ae3f21765e"},{"fixed":"c067aa7b231e91a18a1b3666201ab14dfb00347a"},{"fixed":"13cb7160e5b791f5e3ecf9311cf32849fe7e9b62"},{"fixed":"5ec111ddc1f727c1e4580aea459842ae5a8359a5"},{"fixed":"126c757e4cd46f866ddc283143b58eb4d9bf52cd"}]}],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-92525.json"}},{"package":{"name":"Kernel","ecosystem":"Linux"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"4.8.0"},{"fixed":"6.1.188"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.2.0"},{"fixed":"6.6.157"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.7.0"},{"fixed":"6.12.110"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.13.0"},{"fixed":"6.18.52"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.19.0"},{"fixed":"7.2.6"}]}],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-92525.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H"}]}