[<prev] [next>] [day] [month] [year] [list]
Message-ID: <2025091615-CVE-2025-39816-f21d@gregkh>
Date: Tue, 16 Sep 2025 15:00:22 +0200
From: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
To: linux-cve-announce@...r.kernel.org
Cc: Greg Kroah-Hartman <gregkh@...nel.org>
Subject: CVE-2025-39816: io_uring/kbuf: always use READ_ONCE() to read ring provided buffer lengths
From: Greg Kroah-Hartman <gregkh@...nel.org>
Description
===========
In the Linux kernel, the following vulnerability has been resolved:
io_uring/kbuf: always use READ_ONCE() to read ring provided buffer lengths
Since the buffers are mapped from userspace, it is prudent to use
READ_ONCE() to read the value into a local variable, and use that for
any other actions taken. Having a stable read of the buffer length
avoids worrying about it changing after checking, or being read multiple
times.
Similarly, the buffer may well change in between it being picked and
being committed. Ensure the looping for incremental ring buffer commit
stops if it hits a zero sized buffer, as no further progress can be made
at that point.
The Linux kernel CVE team has assigned CVE-2025-39816 to this issue.
Affected and fixed versions
===========================
Issue introduced in 6.12 with commit ae98dbf43d755b4e111fcd086e53939bef3e9a1a and fixed in 6.16.5 with commit 390a61d284e1ced088d43928dfcf6f86fffdd780
Issue introduced in 6.12 with commit ae98dbf43d755b4e111fcd086e53939bef3e9a1a and fixed in 6.17-rc4 with commit 98b6fa62c84f2e129161e976a5b9b3cb4ccd117b
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-2025-39816
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:
io_uring/kbuf.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/390a61d284e1ced088d43928dfcf6f86fffdd780
https://git.kernel.org/stable/c/98b6fa62c84f2e129161e976a5b9b3cb4ccd117b
Powered by blists - more mailing lists