NACK/Cmnt: [SRU][F][PATCH v2 0/7] CVE-2023-39198

Stefan Bader stefan.bader at canonical.com
Wed Jun 19 10:00:42 UTC 2024


On 08.03.24 21:11, Bethany Jamison wrote:
> [Impact]
> 
> A race condition was found in the QXL driver in the Linux kernel. The
> qxl_mode_dumb_create() function dereferences the qobj returned by the
> qxl_gem_object_create_with_handle(), but the handle is the only one holding
> a reference to it. This flaw allows an attacker to guess the returned
> handle value and trigger a use-after-free issue, potentially leading to a
> denial of service or privilege escalation.
> 
> [Fix]
> 
> Focal: The fix commit required many prereqs many of which come from the link
> below at the request of the stable team. 6/7 commits were clean cherry-picks
> 1 commit required backporting. The backport was very simple, I accepted the
> incoming change to delete the drm_gem_object_put_unlocked function since
> the only difference between Focal and upstream was that Focal had an
> additional validation check in that function.
> https://github.com/torvalds/linux/commits/master/?since=2020-05-12&until=2020-05-26&author=evelikov-work
> 
> [Test Case]
> 
> Compile and boot tested.
> 
> [Where issues could occur]
> 
> This change affects those who use the qxl driver, this patch introduces
> many changes which naturally increases the risk of regression.
> 
> v2:
> Resubmitted to apply additional prereq commits at the request of the stable
> team to address potential regression.
> 
> Emil Velikov (5):
>    drm/gem: use _unlocked reference in drm_gem_objects_lookup docs
>    drm/gem: fold drm_gem_object_put_unlocked and __drm_gem_object_put()
>    drm/gem: add _locked suffix to drm_gem_object_put
>    drm/gem: add drm_gem_object_put helper
>    drm/qxl: remove _unlocked suffix in drm_gem_object_put_unlocked
> 
> Gerd Hoffmann (1):
>    drm/qxl: allocate dumb buffers in ram
> 
> Wander Lairson Costa (1):
>    drm/qxl: fix UAF on handle creation
> 
>   drivers/gpu/drm/drm_gem.c                  | 38 +++-------------------
>   drivers/gpu/drm/i915/gem/i915_gem_object.h |  2 +-
>   drivers/gpu/drm/msm/adreno/a5xx_debugfs.c  |  4 +--
>   drivers/gpu/drm/msm/msm_drv.c              |  2 +-
>   drivers/gpu/drm/msm/msm_gem.c              |  6 ++--
>   drivers/gpu/drm/msm/msm_gem_submit.c       |  2 +-
>   drivers/gpu/drm/msm/msm_gpu.c              |  2 +-
>   drivers/gpu/drm/qxl/qxl_cmd.c              |  2 +-
>   drivers/gpu/drm/qxl/qxl_display.c          |  6 ++--
>   drivers/gpu/drm/qxl/qxl_drv.h              |  2 +-
>   drivers/gpu/drm/qxl/qxl_dumb.c             |  9 +++--
>   drivers/gpu/drm/qxl/qxl_gem.c              | 25 +++++++++-----
>   drivers/gpu/drm/qxl/qxl_ioctl.c            | 10 +++---
>   drivers/gpu/drm/qxl/qxl_object.c           |  4 +--
>   include/drm/drm_drv.h                      |  2 --
>   include/drm/drm_gem.h                      | 22 ++++---------
>   16 files changed, 54 insertions(+), 84 deletions(-)
> 

Rejected for the following reasons:
This was sitting around now for quite a long time and I think it needs 
re-sending anyway. So I am closing this thread so we can clean up the queue.

-Stefan
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_0xE8675DEECBEECEA3.asc
Type: application/pgp-keys
Size: 48643 bytes
Desc: OpenPGP public key
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20240619/aa36644d/attachment-0001.key>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20240619/aa36644d/attachment-0001.sig>


More information about the kernel-team mailing list