Bug 2513278 (CVE-2026-68262)

Summary: CVE-2026-68262 kernel: drm/imagination: Fix user array stride in pvr_set_uobj_array()
Product: [Other] Security Response Reporter: OSIDB Bzimport <bzimport>
Component: vulnerabilityAssignee: Product Security <prodsec-ir-bot>
Status: NEW --- QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: unspecifiedCC: rhel-process-autobot, watson-tool-maintainers
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: ---
Doc Text:
A flaw was found in the Linux kernel. The `drm/imagination` component's `pvr_set_uobj_array()` function mishandles the user array stride during copies of kernel objects to a userspace array. This error causes incorrect memory access, leading to memory corruption where data is written to unintended locations, or information disclosure where sensitive kernel data is read from incorrect addresses. A local attacker could potentially leverage this to gain elevated privileges or cause a system crash (Denial of Service).
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description OSIDB Bzimport 2026-08-10 12:28:34 UTC
In the Linux kernel, the following vulnerability has been resolved:

drm/imagination: Fix user array stride in pvr_set_uobj_array()

pvr_set_uobj_array() copies an array of kernel objects to a userspace
array whose element size is described by out->stride. When out->stride
is different from the kernel object size, the slow path advances the
userspace pointer by the kernel object size and the kernel pointer by the
userspace stride.

This reverses the intended layout. For larger userspace strides, later
copies read from the wrong kernel addresses. For smaller userspace
strides, later copies are written at the wrong userspace offsets. The
padding clear is also done only for the first element instead of the
padding area for each element.

Advance the userspace pointer by out->stride and the kernel pointer by
obj_size, and clear per-element padding while the current userspace
pointer is still available.

Comment 12 Mauro Matteo Cascella 2026-08-21 20:51:39 UTC
Upstream advisory:
https://lore.kernel.org/linux-cve-announce/2026081022-CVE-2026-68262-1175@gregkh/T