Bug 2221707 (CVE-2023-4132) - CVE-2023-4132 kernel: smsusb: use-after-free caused by do_submit_urb()
Summary: CVE-2023-4132 kernel: smsusb: use-after-free caused by do_submit_urb()
Keywords:
Status: NEW
Alias: CVE-2023-4132
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Nobody
QA Contact:
URL:
Whiteboard:
Depends On: 2221714 2221715 2228777 2228780 2228781
Blocks: 2221670
TreeView+ depends on / blocked
 
Reported: 2023-07-10 15:47 UTC by Mauro Matteo Cascella
Modified: 2024-02-08 16:52 UTC (History)
46 users (show)

Fixed In Version: kernel 6.3-rc1
Doc Type: If docs needed, set a value
Doc Text:
A use-after-free vulnerability was found in the siano smsusb module in the Linux kernel. The bug occurs during device initialization when the siano device is plugged in. This flaw allows a local user to crash the system, causing a denial of service condition.
Clone Of:
Environment:
Last Closed:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2023:7268 0 None None None 2023-11-15 18:24:59 UTC
Red Hat Product Errata RHBA-2023:7328 0 None None None 2023-11-16 11:39:10 UTC
Red Hat Product Errata RHBA-2023:7338 0 None None None 2023-11-16 18:04:33 UTC
Red Hat Product Errata RHBA-2023:7343 0 None None None 2023-11-20 01:59:03 UTC
Red Hat Product Errata RHBA-2023:7346 0 None None None 2023-11-20 09:26:02 UTC
Red Hat Product Errata RHSA-2023:6901 0 None None None 2023-11-14 15:15:53 UTC
Red Hat Product Errata RHSA-2023:7077 0 None None None 2023-11-14 15:21:15 UTC
Red Hat Product Errata RHSA-2024:0575 0 None None None 2024-01-30 13:21:55 UTC
Red Hat Product Errata RHSA-2024:0724 0 None None None 2024-02-07 16:30:27 UTC

Description Mauro Matteo Cascella 2023-07-10 15:47:39 UTC
From the upstream fix below: When the siano device is plugged in, it may call the following functions to initialize the device.

smsusb_probe()-->smsusb_init_device()-->smscore_start_device().

When smscore_start_device() gets failed, the function smsusb_term_device() will be called and smsusb_device_t will be deallocated. Although we use
usb_kill_urb() in smsusb_stop_streaming() to cancel transfer requests and wait for them to finish, the worker threads that are scheduled by smsusb_onresponse() may be still running. As a result, the UAF bugs could happen.

Upstream commits:
https://github.com/torvalds/linux/commit/ebad8e731c1c06adf04621d6fd327b860c0861b5
https://github.com/torvalds/linux/commit/6f489a966fbeb0da63d45c2c66a8957eab604bf6

Comment 2 Mauro Matteo Cascella 2023-08-03 08:49:32 UTC
Created kernel tracking bugs for this issue:

Affects: fedora-all [bug 2228777]

Comment 4 Justin M. Forbes 2023-08-07 22:07:39 UTC
This was fixed for Fedora with the 6.4.4 stable kernel updates.

Comment 5 errata-xmlrpc 2023-11-14 15:15:51 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 8

Via RHSA-2023:6901 https://access.redhat.com/errata/RHSA-2023:6901

Comment 6 errata-xmlrpc 2023-11-14 15:21:11 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 8

Via RHSA-2023:7077 https://access.redhat.com/errata/RHSA-2023:7077

Comment 9 errata-xmlrpc 2024-01-30 13:21:51 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 8.8 Extended Update Support

Via RHSA-2024:0575 https://access.redhat.com/errata/RHSA-2024:0575

Comment 10 errata-xmlrpc 2024-02-07 16:30:23 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 8.6 Extended Update Support

Via RHSA-2024:0724 https://access.redhat.com/errata/RHSA-2024:0724


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