CVE-2016-9644
Published: 27 November 2016
The __get_user_asm_ex macro in arch/x86/include/asm/uaccess.h in the Linux kernel 4.4.22 through 4.4.28 contains extended asm statements that are incompatible with the exception table, which allows local users to obtain root access on non-SMEP platforms via a crafted application. NOTE: this vulnerability exists because of incorrect backporting of the CVE-2016-9178 patch to older kernels.
From the Ubuntu Security Team
It was discovered that the __get_user_asm_ex implementation in the Linux kernel for x86/x86_64 contained extended asm statements that were incompatible with the exception table. A local attacker could use this to gain administrative privileges.
Notes
Author | Note |
---|---|
sbeattie | 1c109fabbd51863475cd12ac206bdd249aee35af was applied to the 4.4 stable series (in xenial as 1c109fabbd51863475cd12ac206bdd249aee35af) to fix CVE-2016-9178, and then got reverted from stable in 4.4.30 (in xenial as 2da13e7f631bb13658e00e61fdea050da25e69e7). 548acf19234dbda5a52d5a8e7e205af46e9da840 was also very briefly applied to stable in 4.4.29, but reverted at the same time due to problems (in xenial as 102d19689b2dd4f639a14dfd3f52ce19b5d7bb17). For xenial/4.4 derived kernels, this CVE is fixed with the reversion in 2da13e7f631bb13658e00e61fdea050da25e69e7. However, this leaves CVE-2016-9178 unfixed. |
Priority
Status
Package | Release | Status |
---|---|---|
linux Launchpad, Ubuntu, Debian |
precise |
Not vulnerable
|
trusty |
Pending
(3.13.0-145.194)
|
|
upstream |
Released
(4.8~rc7)
|
|
xenial |
Released
(4.4.0-51.72)
|
|
yakkety |
Not vulnerable
(4.8.0-14.15)
|
|
Patches: Introduced by 1c109fabbd51863475cd12ac206bdd249aee35af |
||
linux-armadaxp Launchpad, Ubuntu, Debian |
precise |
Not vulnerable
|
trusty |
Does not exist
|
|
upstream |
Released
(4.8~rc7)
|
|
xenial |
Does not exist
|
|
yakkety |
Does not exist
|
|
This package is not directly supported by the Ubuntu Security Team | ||
linux-aws Launchpad, Ubuntu, Debian |
precise |
Does not exist
|
trusty |
Not vulnerable
(4.4.0-1002.2)
|
|
upstream |
Released
(4.8~rc7)
|
|
xenial |
Not vulnerable
(4.4.0-1001.10)
|
|
yakkety |
Does not exist
|
|
linux-flo Launchpad, Ubuntu, Debian |
precise |
Does not exist
|
trusty |
Does not exist
(trusty was ignored)
|
|
upstream |
Released
(4.8~rc7)
|
|
xenial |
Not vulnerable
|
|
yakkety |
Not vulnerable
|
|
linux-gke Launchpad, Ubuntu, Debian |
precise |
Does not exist
|
trusty |
Does not exist
|
|
upstream |
Released
(4.8~rc7)
|
|
xenial |
Not vulnerable
(4.4.0-1003.3)
|
|
yakkety |
Does not exist
|
|
linux-goldfish Launchpad, Ubuntu, Debian |
precise |
Does not exist
|
trusty |
Does not exist
(trusty was ignored)
|
|
upstream |
Released
(4.8~rc7)
|
|
xenial |
Not vulnerable
|
|
yakkety |
Not vulnerable
|
|
linux-grouper Launchpad, Ubuntu, Debian |
precise |
Does not exist
|
trusty |
Does not exist
(trusty was ignored)
|
|
upstream |
Released
(4.8~rc7)
|
|
xenial |
Does not exist
|
|
yakkety |
Does not exist
|
|
linux-hwe Launchpad, Ubuntu, Debian |
precise |
Does not exist
|
trusty |
Does not exist
|
|
upstream |
Released
(4.8~rc7)
|
|
xenial |
Not vulnerable
(4.8.0-36.36~16.04.1)
|
|
yakkety |
Does not exist
|
|
linux-hwe-edge Launchpad, Ubuntu, Debian |
precise |
Does not exist
|
trusty |
Does not exist
|
|
upstream |
Released
(4.8~rc7)
|
|
xenial |
Not vulnerable
(4.8.0-36.36~16.04.1)
|
|
yakkety |
Does not exist
|
|
linux-linaro-omap Launchpad, Ubuntu, Debian |
precise |
Ignored
(end of life)
|
trusty |
Does not exist
|
|
upstream |
Released
(4.8~rc7)
|
|
xenial |
Does not exist
|
|
yakkety |
Does not exist
|
|
linux-linaro-shared Launchpad, Ubuntu, Debian |
precise |
Ignored
(end of life)
|
trusty |
Does not exist
|
|
upstream |
Released
(4.8~rc7)
|
|
xenial |
Does not exist
|
|
yakkety |
Does not exist
|
|
linux-linaro-vexpress Launchpad, Ubuntu, Debian |
precise |
Ignored
(end of life)
|
trusty |
Does not exist
|
|
upstream |
Released
(4.8~rc7)
|
|
xenial |
Does not exist
|
|
yakkety |
Does not exist
|
|
linux-lts-quantal Launchpad, Ubuntu, Debian |
precise |
Ignored
(end of life)
|
trusty |
Does not exist
|
|
upstream |
Released
(4.8~rc7)
|
|
xenial |
Does not exist
|
|
yakkety |
Does not exist
|
|
This package is not directly supported by the Ubuntu Security Team | ||
linux-lts-raring Launchpad, Ubuntu, Debian |
precise |
Ignored
(end of life)
|
trusty |
Does not exist
|
|
upstream |
Released
(4.8~rc7)
|
|
xenial |
Does not exist
|
|
yakkety |
Does not exist
|
|
linux-lts-saucy Launchpad, Ubuntu, Debian |
precise |
Ignored
(end of life)
|
trusty |
Does not exist
|
|
upstream |
Released
(4.8~rc7)
|
|
xenial |
Does not exist
|
|
yakkety |
Does not exist
|
|
This package is not directly supported by the Ubuntu Security Team | ||
linux-lts-trusty Launchpad, Ubuntu, Debian |
precise |
Not vulnerable
|
trusty |
Does not exist
|
|
upstream |
Released
(4.8~rc7)
|
|
xenial |
Does not exist
|
|
yakkety |
Does not exist
|
|
linux-lts-utopic Launchpad, Ubuntu, Debian |
precise |
Does not exist
|
trusty |
Does not exist
(trusty was ignored [end of standard support])
|
|
upstream |
Released
(4.8~rc7)
|
|
xenial |
Does not exist
|
|
yakkety |
Does not exist
|
|
linux-lts-vivid Launchpad, Ubuntu, Debian |
precise |
Does not exist
|
trusty |
Does not exist
(trusty was not-affected)
|
|
upstream |
Released
(4.8~rc7)
|
|
xenial |
Does not exist
|
|
yakkety |
Does not exist
|
|
linux-lts-wily Launchpad, Ubuntu, Debian |
precise |
Does not exist
|
trusty |
Does not exist
(trusty was ignored [end of standard support])
|
|
upstream |
Released
(4.8~rc7)
|
|
xenial |
Does not exist
|
|
yakkety |
Does not exist
|
|
linux-lts-xenial Launchpad, Ubuntu, Debian |
precise |
Does not exist
|
trusty |
Released
(4.4.0-51.72~14.04.1)
|
|
upstream |
Released
(4.8~rc7)
|
|
xenial |
Does not exist
|
|
yakkety |
Does not exist
|
|
linux-maguro Launchpad, Ubuntu, Debian |
precise |
Does not exist
|
trusty |
Does not exist
(trusty was ignored)
|
|
upstream |
Released
(4.8~rc7)
|
|
xenial |
Does not exist
|
|
yakkety |
Does not exist
|
|
linux-mako Launchpad, Ubuntu, Debian |
precise |
Does not exist
|
trusty |
Does not exist
(trusty was ignored)
|
|
upstream |
Released
(4.8~rc7)
|
|
xenial |
Not vulnerable
|
|
yakkety |
Not vulnerable
|
|
linux-manta Launchpad, Ubuntu, Debian |
precise |
Does not exist
|
trusty |
Does not exist
(trusty was ignored)
|
|
upstream |
Released
(4.8~rc7)
|
|
xenial |
Does not exist
|
|
yakkety |
Does not exist
|
|
linux-qcm-msm Launchpad, Ubuntu, Debian |
precise |
Ignored
(end of life)
|
trusty |
Does not exist
|
|
upstream |
Released
(4.8~rc7)
|
|
xenial |
Does not exist
|
|
yakkety |
Does not exist
|
|
linux-raspi2 Launchpad, Ubuntu, Debian |
precise |
Does not exist
|
trusty |
Does not exist
|
|
upstream |
Released
(4.8~rc7)
|
|
xenial |
Not vulnerable
(4.4.0-1038.45)
|
|
yakkety |
Not vulnerable
(4.8.0-1012.14)
|
|
linux-snapdragon Launchpad, Ubuntu, Debian |
precise |
Does not exist
|
trusty |
Does not exist
|
|
upstream |
Released
(4.8~rc7)
|
|
xenial |
Released
(4.4.0-1042.46)
|
|
yakkety |
Released
(4.4.0-1046.50)
|
|
linux-ti-omap4 Launchpad, Ubuntu, Debian |
precise |
Not vulnerable
|
trusty |
Does not exist
|
|
upstream |
Released
(4.8~rc7)
|
|
xenial |
Does not exist
|
|
yakkety |
Does not exist
|
Severity score breakdown
Parameter | Value |
---|---|
Base score | 7.8 |
Attack vector | Local |
Attack complexity | Low |
Privileges required | None |
User interaction | Required |
Scope | Unchanged |
Confidentiality | High |
Integrity impact | High |
Availability impact | High |
Vector | CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H |
References
- http://www.openwall.com/lists/oss-security/2016/11/03/2
- http://www.openwall.com/lists/oss-security/2016/11/07/4
- https://lwn.net/Articles/705220/
- https://ubuntu.com/security/notices/USN-3146-1
- https://ubuntu.com/security/notices/USN-3146-2
- https://ubuntu.com/security/notices/USN-3161-4
- https://www.cve.org/CVERecord?id=CVE-2016-9644
- NVD
- Launchpad
- Debian