Bug 2221707 (CVE-2023-4132)

Summary: CVE-2023-4132 kernel: smsusb: use-after-free caused by do_submit_urb()
Product: [Other] Security Response Reporter: Mauro Matteo Cascella <mcascell>
Component: vulnerabilityAssignee: Nobody <nobody>
Status: NEW --- QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: unspecifiedCC: acaringi, allarkin, bhu, chwhite, crwood, dbohanno, ddepaula, debarbos, dfreiber, dvlasenk, ezulian, hkrzesin, jarod, jburrell, jdenham, jfaracco, jferlan, jforbes, jlelli, joe.lawrence, jshortt, jstancek, jwyatt, kcarcia, kernel-mgr, ldoskova, lgoncalv, lzampier, nmurray, ptalbert, qzhao, rogbas, rrobaina, rvrbovsk, rysulliv, scweaver, tglozar, tyberry, vkumar, walters, wcosta, williams, wmealing, ycote, ymankad
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
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.
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:
Bug Depends On: 2221714, 2221715, 2228777, 2228780, 2228781    
Bug Blocks: 2221670    

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