Bug 2395790 (CVE-2025-39816) - CVE-2025-39816 kernel: io_uring/kbuf: always use READ_ONCE() to read ring provided buffer lengths
Summary: CVE-2025-39816 kernel: io_uring/kbuf: always use READ_ONCE() to read ring pro...
Keywords:
Status: NEW
Alias: CVE-2025-39816
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Product Security DevOps Team
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2025-09-16 14:02 UTC by OSIDB Bzimport
Modified: 2025-09-16 16:04 UTC (History)
0 users

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Embargoed:


Attachments (Terms of Use)

Description OSIDB Bzimport 2025-09-16 14:02:40 UTC
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.


Note You need to log in before you can comment on or make changes to this bug.