CVE Vulnerabilities

CVE-2017-8071

Improper Resource Shutdown or Release

Published: Apr 23, 2017 | Modified: Apr 20, 2025
CVSS 3.x
5.5
MEDIUM
Source:
NVD
CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
CVSS 2.x
2.1 LOW
AV:L/AC:L/Au:N/C:N/I:N/A:P
RedHat/V2
RedHat/V3
5.5 MODERATE
CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Ubuntu
MEDIUM
root.io logo minimus.io logo echo.ai logo

drivers/hid/hid-cp2112.c in the Linux kernel 4.9.x before 4.9.9 uses a spinlock without considering that sleeping is possible in a USB HID request callback, which allows local users to cause a denial of service (deadlock) via unspecified vectors.

Weakness

The product does not release or incorrectly releases a resource before it is made available for re-use.

Affected Software

NameVendorStart VersionEnd Version
Linux_kernelLinux4.9 (including)4.9 (including)
Linux_kernelLinux4.9.1 (including)4.9.1 (including)
Linux_kernelLinux4.9.2 (including)4.9.2 (including)
Linux_kernelLinux4.9.3 (including)4.9.3 (including)
Linux_kernelLinux4.9.4 (including)4.9.4 (including)
Linux_kernelLinux4.9.5 (including)4.9.5 (including)
Linux_kernelLinux4.9.6 (including)4.9.6 (including)
Linux_kernelLinux4.9.8 (including)4.9.8 (including)
LinuxUbuntuprecise*
LinuxUbuntuupstream*
Linux-armadaxpUbuntuprecise*
Linux-armadaxpUbuntuupstream*
Linux-awsUbuntuupstream*
Linux-floUbuntutrusty*
Linux-floUbuntuupstream*
Linux-floUbuntuvivid/stable-phone-overlay*
Linux-floUbuntuxenial*
Linux-floUbuntuyakkety*
Linux-gkeUbuntuupstream*
Linux-goldfishUbuntutrusty*
Linux-goldfishUbuntuupstream*
Linux-goldfishUbuntuxenial*
Linux-goldfishUbuntuyakkety*
Linux-goldfishUbuntuzesty*
Linux-grouperUbuntutrusty*
Linux-grouperUbuntuupstream*
Linux-hweUbuntuupstream*
Linux-hwe-edgeUbuntuupstream*
Linux-linaro-omapUbuntuprecise*
Linux-linaro-omapUbuntuupstream*
Linux-linaro-sharedUbuntuprecise*
Linux-linaro-sharedUbuntuupstream*
Linux-linaro-vexpressUbuntuprecise*
Linux-linaro-vexpressUbuntuupstream*
Linux-lts-quantalUbuntuprecise*
Linux-lts-quantalUbuntuprecise/esm*
Linux-lts-quantalUbuntuupstream*
Linux-lts-raringUbuntuprecise*
Linux-lts-raringUbuntuprecise/esm*
Linux-lts-raringUbuntuupstream*
Linux-lts-saucyUbuntuprecise*
Linux-lts-saucyUbuntuprecise/esm*
Linux-lts-saucyUbuntuupstream*
Linux-lts-trustyUbuntuprecise*
Linux-lts-trustyUbuntuupstream*
Linux-lts-utopicUbuntutrusty*
Linux-lts-utopicUbuntuupstream*
Linux-lts-vividUbuntuupstream*
Linux-lts-wilyUbuntutrusty*
Linux-lts-wilyUbuntuupstream*
Linux-lts-xenialUbuntuupstream*
Linux-maguroUbuntutrusty*
Linux-maguroUbuntuupstream*
Linux-makoUbuntutrusty*
Linux-makoUbuntuupstream*
Linux-makoUbuntuvivid/stable-phone-overlay*
Linux-makoUbuntuxenial*
Linux-makoUbuntuyakkety*
Linux-mantaUbuntutrusty*
Linux-mantaUbuntuupstream*
Linux-qcm-msmUbuntuprecise*
Linux-qcm-msmUbuntuupstream*
Linux-raspi2Ubuntuupstream*
Linux-raspi2Ubuntuvivid/ubuntu-core*
Linux-snapdragonUbuntuupstream*
Linux-ti-omap4Ubuntuprecise*
Linux-ti-omap4Ubuntuupstream*

Potential Mitigations

  • Use a language that does not allow this weakness to occur or provides constructs that make this weakness easier to avoid.
  • For example, languages such as Java, Ruby, and Lisp perform automatic garbage collection that releases memory for objects that have been deallocated.

References