Every CVE Search/ Get API key

CVE-2016-9644

The __get_user_asm_ex macro in arch/x86/include/asm/uaccess.h in the Linux kernel 4.4.22 through...

7.8 HighFix available

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.

Attack profile

How easy it is to exploit

Attack vector
Local
Complexity
Low
Privileges needed
None
User interaction
Required

What an attacker can affect

Confidentiality
High
Integrity
High
Availability
High

Exploit likelihood

1.45%Up 0.4 points since Feb 4, 2022
90%50%10%1%

What each source reports

NVD Score used 7.8

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.

Record
CVE-2016-9644
CVSS 3.0
7.8 HighCVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
CVSS 2.0
9.3 HighAV:N/AC:M/Au:N/C:C/I:C/A:C
Weakness
CWE-264
Updated
2026-11-02
CVE List No score

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.

Record
CVE-2016-9644
Updated
2026-11-02
EUVDEUVD-2016-10445 No score

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.

Record
EUVD-2016-10445
Updated
2026-11-03
GitHub AdvisoriesGHSA-qx8p-8rg2-4j84 7.8

The __get_user_asm_ex macro in arch/x86/include/asm/uaccess.h in the Linux kernel 4.4.22 through...

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.

Record
GHSA-qx8p-8rg2-4j84
CVSS 3.0
7.8 HighCVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSVUBUNTU-CVE-2016-9644 7.8

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.

Record
UBUNTU-CVE-2016-9644
CVSS 3.0
7.8 HighCVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSVUSN-3146-1 No score

linux vulnerabilities

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. (CVE-2016-9644)

Andreas Gruenbacher and Jan Kara discovered that the filesystem implementation in the Linux kernel did not clear the setgid bit during a setxattr call. A local attacker could use this to possibly elevate group privileges. (CVE-2016-7097)

Marco Grassi discovered that the driver for Areca RAID Controllers in the Linux kernel did not properly validate control messages. A local attacker could use this to cause a denial of service (system crash) or possibly gain privileges. (CVE-2016-7425)

Daxing Guo discovered a stack-based buffer overflow in the Broadcom IEEE802.11n FullMAC driver in the Linux kernel. A local attacker could use this to cause a denial of service (system crash) or possibly gain privileges. (CVE-2016-8658)

Record
USN-3146-1
Updated
2026-11-02
OSVUSN-3146-2 No score

linux-lts-xenial vulnerabilities

USN-3146-1 fixed vulnerabilities in the Linux kernel for Ubuntu 16.04 LTS. This update provides the corresponding updates for the Linux Hardware Enablement (HWE) kernel from Ubuntu 16.04 LTS for Ubuntu 14.04 LTS.

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. (CVE-2016-9644)

Andreas Gruenbacher and Jan Kara discovered that the filesystem implementation in the Linux kernel did not clear the setgid bit during a setxattr call. A local attacker could use this to possibly elevate group privileges. (CVE-2016-7097)

Marco Grassi discovered that the driver for Areca RAID Controllers in the Linux kernel did not properly validate control messages. A local attacker could use this to cause a denial of service (system crash) or possibly gain privileges. (CVE-2016-7425)

Daxing Guo discovered a stack-based buffer overflow in the Broadcom IEEE802.11n FullMAC driver in the Linux kernel. A local attacker could use this to cause a denial of service (system crash) or possibly gain privileges. (CVE-2016-8658)

Record
USN-3146-2
Updated
2026-11-02
OSVUSN-3161-4 No score

linux-snapdragon vulnerabilities

Tilman Schmidt and Sasha Levin discovered a use-after-free condition in the TTY implementation in the Linux kernel. A local attacker could use this to expose sensitive information (kernel memory). (CVE-2015-8964)

It was discovered that the Video For Linux Two (v4l2) implementation in the Linux kernel did not properly handle multiple planes when processing a VIDIOC_DQBUF ioctl(). A local attacker could use this to cause a denial of service (system crash) or possibly execute arbitrary code. (CVE-2016-4568)

CAI Qian discovered that shared bind mounts in a mount namespace exponentially added entries without restriction to the Linux kernel's mount table. A local attacker could use this to cause a denial of service (system crash). (CVE-2016-6213)

Andreas Gruenbacher and Jan Kara discovered that the filesystem implementation in the Linux kernel did not clear the setgid bit during a setxattr call. A local attacker could use this to possibly elevate group privileges. (CVE-2016-7097)

Marco Grassi discovered that the driver for Areca RAID Controllers in the Linux kernel did not properly validate control messages. A local attacker could use this to cause a denial of service (system crash) or possibly gain privileges. (CVE-2016-7425)

It was discovered that the KVM implementation for x86/x86_64 in the Linux kernel could dereference a null pointer. An attacker in a guest virtual machine could use this to cause a denial of service (system crash) in the KVM host. (CVE-2016-8630)

Eyal Itkin discovered that the IP over IEEE 1394 (FireWire) implementation in the Linux kernel contained a buffer overflow when handling fragmented packets. A remote attacker could use this to possibly execute arbitrary code with administrative privileges. (CVE-2016-8633)

Marco Grassi discovered that the TCP implementation in the Linux kernel mishandles socket buffer (skb) truncation. A local attacker could use this to cause a denial of service (system crash). (CVE-2016-8645)

Daxing Guo discovered a stack-based buffer overflow in the Broadcom IEEE802.11n FullMAC driver in the Linux kernel. A local attacker could use this to cause a denial of service (system crash) or possibly gain privileges. (CVE-2016-8658)

Andrey Konovalov discovered that the SCTP implementation in the Linux kernel improperly handled validation of incoming data. A remote attacker could use this to cause a denial of service (system crash). (CVE-2016-9555)

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. (CVE-2016-9644)

Record
USN-3161-4
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
linux
Ubuntu:14.04:LTS
before 3.13.0-145.194, plus listed versions
3.11.0-12.193.12.0-1.33.12.0-2.53.12.0-2.73.12.0-3.8
Show 45 moreShow less
3.12.0-3.93.12.0-4.103.12.0-4.123.12.0-5.133.12.0-7.153.13.0-1.163.13.0-2.173.13.0-3.183.13.0-4.193.13.0-5.203.13.0-6.233.13.0-7.253.13.0-7.263.13.0-8.273.13.0-8.283.13.0-10.303.13.0-11.313.13.0-12.323.13.0-13.333.13.0-14.343.13.0-15.353.13.0-16.363.13.0-17.373.13.0-18.383.13.0-19.393.13.0-19.403.13.0-20.423.13.0-21.433.13.0-22.443.13.0-23.453.13.0-24.463.13.0-24.473.13.0-27.503.13.0-29.533.13.0-30.543.13.0-30.553.13.0-32.573.13.0-33.583.13.0-34.603.13.0-35.623.13.0-36.633.13.0-37.643.13.0-39.663.13.0-40.693.13.0-41.70
3.13.0-145.194
linux-lts-xenial
Ubuntu:14.04:LTS
before 4.4.0-51.72~14.04.1, plus listed versions
4.4.0-13.29~14.04.14.4.0-14.30~14.04.24.4.0-15.31~14.04.14.4.0-18.34~14.04.14.4.0-21.37~14.04.1
Show 11 moreShow less
4.4.0-22.39~14.04.14.4.0-22.40~14.04.14.4.0-24.43~14.04.14.4.0-28.47~14.04.14.4.0-31.50~14.04.14.4.0-34.53~14.04.14.4.0-36.55~14.04.14.4.0-38.57~14.04.14.4.0-42.62~14.04.14.4.0-45.66~14.04.14.4.0-47.68~14.04.1
4.4.0-51.72~14.04.1
linux
Ubuntu:16.04:LTS
before 4.4.0-51.72, plus listed versions
4.2.0-16.194.2.0-17.214.2.0-19.234.3.0-1.104.3.0-2.11
Show 31 moreShow less
4.3.0-5.164.3.0-6.174.3.0-7.184.4.0-2.164.4.0-4.194.4.0-6.214.4.0-7.224.4.0-8.234.4.0-9.244.4.0-10.254.4.0-11.264.4.0-12.284.4.0-13.294.4.0-14.304.4.0-15.314.4.0-16.324.4.0-17.334.4.0-18.344.4.0-21.374.4.0-22.394.4.0-22.404.4.0-24.434.4.0-28.474.4.0-31.504.4.0-34.534.4.0-36.554.4.0-38.574.4.0-42.624.4.0-43.634.4.0-45.664.4.0-47.68
4.4.0-51.72
linux-snapdragon
Ubuntu:16.04:LTS
before 4.4.0-1042.46, plus listed versions
4.4.0-1012.124.4.0-1013.144.4.0-1013.154.4.0-1015.184.4.0-1019.22
Show 8 moreShow less
4.4.0-1020.234.4.0-1022.254.4.0-1024.274.4.0-1026.294.4.0-1030.334.4.0-1032.364.4.0-1035.394.4.0-1039.43
4.4.0-1042.46
linux
Ubuntu:16.04:LTS
From an advisory covering 4 CVEs
before 4.4.0-51.72, plus listed versions
4.2.0-16.194.2.0-17.214.2.0-19.234.3.0-1.104.3.0-2.11
Show 31 moreShow less
4.3.0-5.164.3.0-6.174.3.0-7.184.4.0-2.164.4.0-4.194.4.0-6.214.4.0-7.224.4.0-8.234.4.0-9.244.4.0-10.254.4.0-11.264.4.0-12.284.4.0-13.294.4.0-14.304.4.0-15.314.4.0-16.324.4.0-17.334.4.0-18.344.4.0-21.374.4.0-22.394.4.0-22.404.4.0-24.434.4.0-28.474.4.0-31.504.4.0-34.534.4.0-36.554.4.0-38.574.4.0-42.624.4.0-43.634.4.0-45.664.4.0-47.68
4.4.0-51.72
linux-lts-xenial
Ubuntu:14.04:LTS
From an advisory covering 4 CVEs
before 4.4.0-51.72~14.04.1, plus listed versions
4.4.0-13.29~14.04.14.4.0-14.30~14.04.24.4.0-15.31~14.04.14.4.0-18.34~14.04.14.4.0-21.37~14.04.1
Show 11 moreShow less
4.4.0-22.39~14.04.14.4.0-22.40~14.04.14.4.0-24.43~14.04.14.4.0-28.47~14.04.14.4.0-31.50~14.04.14.4.0-34.53~14.04.14.4.0-36.55~14.04.14.4.0-38.57~14.04.14.4.0-42.62~14.04.14.4.0-45.66~14.04.14.4.0-47.68~14.04.1
4.4.0-51.72~14.04.1
linux-snapdragon
Ubuntu:16.04:LTS
From an advisory covering 11 CVEs
before 4.4.0-1042.46, plus listed versions
4.4.0-1012.124.4.0-1013.144.4.0-1013.154.4.0-1015.184.4.0-1019.22
Show 8 moreShow less
4.4.0-1020.234.4.0-1022.254.4.0-1024.274.4.0-1026.294.4.0-1030.334.4.0-1032.364.4.0-1035.394.4.0-1039.43
4.4.0-1042.46

History

History
RecordedChangedSources
affected, facts
aliasesEUVD
first indexedCVE List, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2016-9644 is a high vulnerability (CVSS 7.8) in Linux Kernel, published November 27, 2016. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 1.45%, the 73rd percentile. Fixed in linux 3.13.0-145.194.

References

Show 17 moreShow less
This page doesn't list everything

Left out here: 79 versions. The JSON record has them.

MoveEnter Open