[<prev] [next>] [day] [month] [year] [list]
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