lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-ID: <2025011512-CVE-2024-57890-aaf3@gregkh> Date: Wed, 15 Jan 2025 14:06:13 +0100 From: Greg Kroah-Hartman <gregkh@...uxfoundation.org> To: linux-cve-announce@...r.kernel.org Cc: Greg Kroah-Hartman <gregkh@...uxfoundation.org> Subject: CVE-2024-57890: RDMA/uverbs: Prevent integer overflow issue Description =========== In the Linux kernel, the following vulnerability has been resolved: RDMA/uverbs: Prevent integer overflow issue In the expression "cmd.wqe_size * cmd.wr_count", both variables are u32 values that come from the user so the multiplication can lead to integer wrapping. Then we pass the result to uverbs_request_next_ptr() which also could potentially wrap. The "cmd.sge_count * sizeof(struct ib_uverbs_sge)" multiplication can also overflow on 32bit systems although it's fine on 64bit systems. This patch does two things. First, I've re-arranged the condition in uverbs_request_next_ptr() so that the use controlled variable "len" is on one side of the comparison by itself without any math. Then I've modified all the callers to use size_mul() for the multiplications. The Linux kernel CVE team has assigned CVE-2024-57890 to this issue. Affected and fixed versions =========================== Issue introduced in 2.6.15 with commit 67cdb40ca444c09853ab4d8a41cf547ac26a4de4 and fixed in 5.4.289 with commit c57721b24bd897338a81a0ca5fff41600f0f1ad1 Issue introduced in 2.6.15 with commit 67cdb40ca444c09853ab4d8a41cf547ac26a4de4 and fixed in 5.10.233 with commit 42a6eb4ed7a9a41ba0b83eb0c7e0225b5fca5608 Issue introduced in 2.6.15 with commit 67cdb40ca444c09853ab4d8a41cf547ac26a4de4 and fixed in 5.15.176 with commit c2f961c46ea0e5274c5c320d007c2dd949cf627a Issue introduced in 2.6.15 with commit 67cdb40ca444c09853ab4d8a41cf547ac26a4de4 and fixed in 6.1.124 with commit 346db03e9926ab7117ed9bf19665699c037c773c Issue introduced in 2.6.15 with commit 67cdb40ca444c09853ab4d8a41cf547ac26a4de4 and fixed in 6.6.70 with commit b92667f755749cf10d9ef1088865c555ae83ffb7 Issue introduced in 2.6.15 with commit 67cdb40ca444c09853ab4d8a41cf547ac26a4de4 and fixed in 6.12.9 with commit b3ef4ae713360501182695dd47d6b4f6e1a43eb8 Issue introduced in 2.6.15 with commit 67cdb40ca444c09853ab4d8a41cf547ac26a4de4 and fixed in 6.13-rc6 with commit d0257e089d1bbd35c69b6c97ff73e3690ab149a9 Please see https://www.kernel.org for a full list of currently supported kernel versions by the kernel community. Unaffected versions might change over time as fixes are backported to older supported kernel versions. The official CVE entry at https://cve.org/CVERecord/?id=CVE-2024-57890 will be updated if fixes are backported, please check that for the most up to date information about this issue. Affected files ============== The file(s) affected by this issue are: drivers/infiniband/core/uverbs_cmd.c Mitigation ========== The Linux kernel CVE team recommends that you update to the latest stable kernel version for this, and many other bugfixes. Individual changes are never tested alone, but rather are part of a larger kernel release. Cherry-picking individual commits is not recommended or supported by the Linux kernel community at all. If however, updating to the latest release is impossible, the individual changes to resolve this issue can be found at these commits: https://git.kernel.org/stable/c/c57721b24bd897338a81a0ca5fff41600f0f1ad1 https://git.kernel.org/stable/c/42a6eb4ed7a9a41ba0b83eb0c7e0225b5fca5608 https://git.kernel.org/stable/c/c2f961c46ea0e5274c5c320d007c2dd949cf627a https://git.kernel.org/stable/c/346db03e9926ab7117ed9bf19665699c037c773c https://git.kernel.org/stable/c/b92667f755749cf10d9ef1088865c555ae83ffb7 https://git.kernel.org/stable/c/b3ef4ae713360501182695dd47d6b4f6e1a43eb8 https://git.kernel.org/stable/c/d0257e089d1bbd35c69b6c97ff73e3690ab149a9
Powered by blists - more mailing lists