CVE-2020-12464: Use After Free

Published Apr 29, 2020
·
Updated

A use-after-free flaw was found in usbsgcancel in drivers/usb/core/message.c in USB core subsystem. This flaw could allow a local attacker with special user privilege (or root) to crash the system due to a race problem in scatter-gather cancellation and transfer completion in usbsgwait. This vulnerability can even lead to a kernel information leak problem .

Here usbsgcancel() does not take any reference to the transfer and there is nothing to prevent the URBs from being deallocated while the routine is trying to use them.

Taking a reference by incrementing the transfer's io->count field while the cancellation is in progress and decrementing it afterwards can be way to address this. The transfer's URBs are not deallocated until io->complete is triggered, which happens when io->count reaches zero. ~~~ BUG: KASAN: use-after-free in atomicread include/asm-generic/atomic-instrumented.h:26 [inline] BUG: KASAN: use-after-free in usbhcdunlinkurb+0x5f/0x170 drivers/usb/core/hcd.c:1607 Read of size 4 at addr ffff888065379610 by task kworker/u4:1/27 ~~~

References: https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.6.8 https://lkml.org/lkml/2020/3/23/52

Upstream commit: https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=056ad39ee9253873522f6469c3364964a322912b

Other sources

usbsgcancel in drivers/usb/core/message.c in the Linux kernel before 5.6.8 has a use-after-free because a transfer occurs without a reference, aka CID-056ad39ee925.

Launchpad

Affected Software

25 affected componentsFixes available
Linux Linux kernel<3.16.85
Linux Linux kernel>=3.17<4.4.221
Linux Linux kernel>=4.5<4.9.221
Linux Linux kernel>=4.10<4.14.178
Linux Linux kernel>=4.15<4.19.119
Linux Linux kernel>=4.20<5.4.36
Linux Linux kernel>=5.5<5.6.8
NetApp Active Iq Unified Manager Vmware Vsphere
NetApp Cloud Backup
NetApp Hci Baseboard Management Controller=h300s
NetApp Hci Baseboard Management Controller=h410c
NetApp Hci Baseboard Management Controller=h410s
NetApp Hci Baseboard Management Controller=h500s
NetApp Hci Baseboard Management Controller=h610c
NetApp Hci Baseboard Management Controller=h610s
NetApp Hci Baseboard Management Controller=h615c
NetApp Hci Baseboard Management Controller=h700s
NetApp Hci Storage Nodes
NetApp Solidfire \& Hci Storage Node
NetApp Steelstore Cloud Integrated Storage
NetApp AFF A700s
NetApp Hci Compute Node
NetApp Solidfire Baseboard Management Controller
Google Android
debian/linux
5.10.223-15.10.262-16.1.176-16.1.180-16.12.94-16.12.101-17.1.8-17.1.8-2

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade debian/linux to a version that resolves this vulnerability.

    Fixed in 5.10.223-1Fixed in 5.10.262-1Fixed in 6.1.176-1Fixed in 6.1.180-1Fixed in 6.12.94-1Fixed in 6.12.101-1Fixed in 7.1.8-1Fixed in 7.1.8-2
  2. Upgrade

    Upgrade Linux kernel to a version that resolves this vulnerability.

    Fixed in 5.6.8
  3. Upgrade

    Upgrade to a fixed release to a version that resolves this vulnerability.

    Patch CID-056ad39ee925
  4. Compensating control

    Mitigate exposure to the usb_sg_cancel use-after-free race by reducing unprivileged/privileged local access paths to trigger scatter-gather USB cancellation/transfer completion (e.g., restrict USB device access where applicable), as the issue can be exploited by a local attacker with special user privilege (or root) to crash the system and potentially leak kernel information.

Event History

Apr 29, 2020
CVE Published
via MITRE·05:59 PM
Data Sourced
via MITRE·05:59 PM
Description
Data Sourced
via NVD·06:15 PM
RemedyDescriptionSeverityWeaknessAffected Software
May 5, 2020
Data Sourced
via Red Hat·02:25 PM
DescriptionSeverityAffected Software
Aug 3, 2020
Data Sourced
via Android·12:00 AM
SeverityWeaknessAffected Software
Jan 11, 2024
Data Sourced
via Launchpad·11:38 PM
Description
Aug 14, 2026
Data Sourced
via Ubuntu·04:18 PM
RemedyDescriptionSeverityAffected Software
Aug 16, 2026
Data Sourced
via Debian·04:21 PM
DescriptionAffected Software

Frequently Asked Questions

1

What is the severity of CVE-2020-12464?

CVE-2020-12464 is classified as a high-severity vulnerability due to its potential to cause system crashes.

2

How do I fix CVE-2020-12464?

To fix CVE-2020-12464, it is recommended to upgrade to patched versions of the Linux kernel or the specific software affected.

3

What software is affected by CVE-2020-12464?

CVE-2020-12464 affects multiple versions of the Linux kernel and certain NetApp products such as Active IQ Unified Manager and cloud backup solutions.

4

What type of attack does CVE-2020-12464 facilitate?

CVE-2020-12464 enables a local attacker with special user privileges to exploit a use-after-free flaw in the USB core subsystem.

5

How can I determine if my system is vulnerable to CVE-2020-12464?

You can check the version of your Linux kernel or affected software to determine if it falls within the vulnerable ranges specified for CVE-2020-12464.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203