{"id":"CVE-2016-9644","aliases":["EUVD-2016-10445","GHSA-qx8p-8rg2-4j84","UBUNTU-CVE-2016-9644","USN-3146-1","USN-3146-2","USN-3161-4"],"status":"published","title":"The __get_user_asm_ex macro in arch/x86/include/asm/uaccess.h in the Linux kernel 4.4.22 through...","description":"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.","severity":{"version":"3.0","score":7.8,"vector":"CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-08","score":0.01454,"percentile":0.73627,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-264"],"published":"2016-11-27T00:00:00Z","modified":"2026-06-17T00:56:24Z","fixes":[{"ecosystem":"Ubuntu:14.04:LTS","package":"linux","fixed_in":["3.13.0-145.194"],"sources":["osv"]},{"ecosystem":"Ubuntu:14.04:LTS","package":"linux-lts-xenial","fixed_in":["4.4.0-51.72~14.04.1"],"sources":["osv"]},{"ecosystem":"Ubuntu:16.04:LTS","package":"linux","fixed_in":["4.4.0-51.72"],"sources":["osv"]},{"ecosystem":"Ubuntu:16.04:LTS","package":"linux-snapdragon","fixed_in":["4.4.0-1042.46"],"sources":["osv"]}],"affected":[{"source":"osv","ecosystem":"Ubuntu:14.04:LTS","package":"linux","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.13.0-145.194"}]}],"versions":["3.11.0-12.19","3.12.0-1.3","3.12.0-2.5","3.12.0-2.7","3.12.0-3.8","3.12.0-3.9","3.12.0-4.10","3.12.0-4.12","3.12.0-5.13","3.12.0-7.15","3.13.0-1.16","3.13.0-2.17","3.13.0-3.18","3.13.0-4.19","3.13.0-5.20","3.13.0-6.23","3.13.0-7.25","3.13.0-7.26","3.13.0-8.27","3.13.0-8.28","3.13.0-10.30","3.13.0-11.31","3.13.0-12.32","3.13.0-13.33","3.13.0-14.34","3.13.0-15.35","3.13.0-16.36","3.13.0-17.37","3.13.0-18.38","3.13.0-19.39","3.13.0-19.40","3.13.0-20.42","3.13.0-21.43","3.13.0-22.44","3.13.0-23.45","3.13.0-24.46","3.13.0-24.47","3.13.0-27.50","3.13.0-29.53","3.13.0-30.54","3.13.0-30.55","3.13.0-32.57","3.13.0-33.58","3.13.0-34.60","3.13.0-35.62","3.13.0-36.63","3.13.0-37.64","3.13.0-39.66","3.13.0-40.69","3.13.0-41.70","3.13.0-43.72","3.13.0-44.73","3.13.0-45.74","3.13.0-46.75","3.13.0-46.76","3.13.0-46.77","3.13.0-46.79","3.13.0-48.80","3.13.0-49.81","3.13.0-49.83","3.13.0-51.84","3.13.0-52.85","3.13.0-52.86","3.13.0-53.88","3.13.0-53.89","3.13.0-54.91","3.13.0-55.92","3.13.0-55.94","3.13.0-57.95","3.13.0-58.97","3.13.0-59.98","3.13.0-61.100","3.13.0-62.102","3.13.0-63.103","3.13.0-65.105","3.13.0-65.106","3.13.0-66.108","3.13.0-67.110","3.13.0-68.111","3.13.0-70.113","3.13.0-71.114","3.13.0-73.116","3.13.0-74.118","3.13.0-76.120","3.13.0-77.121","3.13.0-79.123","3.13.0-83.127","3.13.0-85.129","3.13.0-86.130","3.13.0-86.131","3.13.0-87.133","3.13.0-88.135","3.13.0-91.138","3.13.0-92.139","3.13.0-93.140","3.13.0-95.142","3.13.0-96.143","3.13.0-98.145","3.13.0-100.147","3.13.0-101.148","3.13.0-103.150","3.13.0-105.152","3.13.0-106.153","3.13.0-107.154","3.13.0-108.155","3.13.0-109.156","3.13.0-110.157","3.13.0-111.158","3.13.0-112.159","3.13.0-113.160","3.13.0-115.162","3.13.0-116.163","3.13.0-117.164","3.13.0-119.166","3.13.0-121.170","3.13.0-123.172","3.13.0-125.174","3.13.0-126.175","3.13.0-128.177","3.13.0-129.178","3.13.0-132.181","3.13.0-133.182","3.13.0-135.184","3.13.0-137.186","3.13.0-139.188","3.13.0-141.190","3.13.0-142.191","3.13.0-143.192","3.13.0-144.193"]},{"source":"osv","ecosystem":"Ubuntu:14.04:LTS","package":"linux-lts-xenial","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"4.4.0-51.72~14.04.1"}]}],"versions":["4.4.0-13.29~14.04.1","4.4.0-14.30~14.04.2","4.4.0-15.31~14.04.1","4.4.0-18.34~14.04.1","4.4.0-21.37~14.04.1","4.4.0-22.39~14.04.1","4.4.0-22.40~14.04.1","4.4.0-24.43~14.04.1","4.4.0-28.47~14.04.1","4.4.0-31.50~14.04.1","4.4.0-34.53~14.04.1","4.4.0-36.55~14.04.1","4.4.0-38.57~14.04.1","4.4.0-42.62~14.04.1","4.4.0-45.66~14.04.1","4.4.0-47.68~14.04.1"]},{"source":"osv","ecosystem":"Ubuntu:16.04:LTS","package":"linux","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"4.4.0-51.72"}]}],"versions":["4.2.0-16.19","4.2.0-17.21","4.2.0-19.23","4.3.0-1.10","4.3.0-2.11","4.3.0-5.16","4.3.0-6.17","4.3.0-7.18","4.4.0-2.16","4.4.0-4.19","4.4.0-6.21","4.4.0-7.22","4.4.0-8.23","4.4.0-9.24","4.4.0-10.25","4.4.0-11.26","4.4.0-12.28","4.4.0-13.29","4.4.0-14.30","4.4.0-15.31","4.4.0-16.32","4.4.0-17.33","4.4.0-18.34","4.4.0-21.37","4.4.0-22.39","4.4.0-22.40","4.4.0-24.43","4.4.0-28.47","4.4.0-31.50","4.4.0-34.53","4.4.0-36.55","4.4.0-38.57","4.4.0-42.62","4.4.0-43.63","4.4.0-45.66","4.4.0-47.68"]},{"source":"osv","ecosystem":"Ubuntu:16.04:LTS","package":"linux-snapdragon","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"4.4.0-1042.46"}]}],"versions":["4.4.0-1012.12","4.4.0-1013.14","4.4.0-1013.15","4.4.0-1015.18","4.4.0-1019.22","4.4.0-1020.23","4.4.0-1022.25","4.4.0-1024.27","4.4.0-1026.29","4.4.0-1030.33","4.4.0-1032.36","4.4.0-1035.39","4.4.0-1039.43"]},{"source":"osv","ecosystem":"Ubuntu:16.04:LTS","package":"linux","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"4.4.0-51.72"}]}],"versions":["4.2.0-16.19","4.2.0-17.21","4.2.0-19.23","4.3.0-1.10","4.3.0-2.11","4.3.0-5.16","4.3.0-6.17","4.3.0-7.18","4.4.0-2.16","4.4.0-4.19","4.4.0-6.21","4.4.0-7.22","4.4.0-8.23","4.4.0-9.24","4.4.0-10.25","4.4.0-11.26","4.4.0-12.28","4.4.0-13.29","4.4.0-14.30","4.4.0-15.31","4.4.0-16.32","4.4.0-17.33","4.4.0-18.34","4.4.0-21.37","4.4.0-22.39","4.4.0-22.40","4.4.0-24.43","4.4.0-28.47","4.4.0-31.50","4.4.0-34.53","4.4.0-36.55","4.4.0-38.57","4.4.0-42.62","4.4.0-43.63","4.4.0-45.66","4.4.0-47.68"],"bundled":4},{"source":"osv","ecosystem":"Ubuntu:14.04:LTS","package":"linux-lts-xenial","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"4.4.0-51.72~14.04.1"}]}],"versions":["4.4.0-13.29~14.04.1","4.4.0-14.30~14.04.2","4.4.0-15.31~14.04.1","4.4.0-18.34~14.04.1","4.4.0-21.37~14.04.1","4.4.0-22.39~14.04.1","4.4.0-22.40~14.04.1","4.4.0-24.43~14.04.1","4.4.0-28.47~14.04.1","4.4.0-31.50~14.04.1","4.4.0-34.53~14.04.1","4.4.0-36.55~14.04.1","4.4.0-38.57~14.04.1","4.4.0-42.62~14.04.1","4.4.0-45.66~14.04.1","4.4.0-47.68~14.04.1"],"bundled":4},{"source":"osv","ecosystem":"Ubuntu:16.04:LTS","package":"linux-snapdragon","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"4.4.0-1042.46"}]}],"versions":["4.4.0-1012.12","4.4.0-1013.14","4.4.0-1013.15","4.4.0-1015.18","4.4.0-1019.22","4.4.0-1020.23","4.4.0-1022.25","4.4.0-1024.27","4.4.0-1026.29","4.4.0-1030.33","4.4.0-1032.36","4.4.0-1035.39","4.4.0-1039.43"],"bundled":11}],"products":[{"vendor":"linux","product":"linux_kernel"}],"references":[{"url":"http://www.ubuntu.com/usn/USN-3146-2","tags":["vendor-advisory","x_refsource_UBUNTU","x_transferred"]},{"url":"http://www.securityfocus.com/bid/94545","tags":["vdb-entry","x_refsource_BID","x_transferred"]},{"url":"http://www.ubuntu.com/usn/USN-3146-1","tags":["vendor-advisory","x_refsource_UBUNTU","x_transferred"]},{"url":"http://www.openwall.com/lists/oss-security/2016/11/07/4","tags":["mailing-list","x_refsource_MLIST","x_transferred","Mailing List","Third Party Advisory","report"]},{"url":"https://lwn.net/Articles/705220/","tags":["x_refsource_CONFIRM","x_transferred","Product","report"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2016-9644"},{"url":"https://lwn.net/Articles/705220"},{"url":"https://github.com/advisories/GHSA-qx8p-8rg2-4j84"},{"url":"https://ubuntu.com/security/CVE-2016-9644","tags":["report"]},{"url":"http://www.openwall.com/lists/oss-security/2016/11/03/2","tags":["report"]},{"url":"https://ubuntu.com/security/notices/USN-3146-1","tags":["advisory"]},{"url":"https://ubuntu.com/security/notices/USN-3146-2","tags":["advisory"]},{"url":"https://ubuntu.com/security/notices/USN-3161-4","tags":["advisory"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2016-9644","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2016-7097","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2016-7425","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2016-8658","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2015-8964","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2016-4568","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2016-6213","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2016-8630","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2016-8633","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2016-8645","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2016-9555","tags":["report"]}],"sources":{"cve":[{"id":"CVE-2016-9644","description":"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.","status":"published","published":"2016-11-28T03:01:00Z","modified":"2024-08-06T02:59:03.223Z","updated_at":"2026-11-02T14:33:32.103757Z"}],"euvd":[{"id":"EUVD-2016-10445","description":"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.","status":"published","published":"2016-11-28T03:01:00Z","modified":"2024-08-06T02:59:03Z","updated_at":"2026-11-03T02:22:26.803486Z"}],"ghsa":[{"id":"GHSA-qx8p-8rg2-4j84","title":"The __get_user_asm_ex macro in arch/x86/include/asm/uaccess.h in the Linux kernel 4.4.22 through...","description":"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.","status":"published","published":"2022-05-17T03:05:27Z","modified":"2025-04-12T13:07:53Z","cvss":[{"version":"3.0","score":7.8,"vector":"CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high"}],"updated_at":"2026-11-02T15:01:30.991417Z"}],"nvd":[{"id":"CVE-2016-9644","description":"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.","status":"published","published":"2016-11-28T03:59:18.283Z","modified":"2026-06-17T00:56:24.06Z","cvss":[{"version":"3.0","score":7.8,"vector":"CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high","assessor":"primary"},{"version":"2.0","score":9.3,"vector":"AV:N/AC:M/Au:N/C:C/I:C/A:C","level":"high","assessor":"primary"}],"cwes":["CWE-264"],"updated_at":"2026-11-02T14:03:32.79141Z"}],"osv":[{"id":"UBUNTU-CVE-2016-9644","description":"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.","status":"published","published":"2016-11-27T00:00:00Z","modified":"2026-04-22T11:06:09.717913Z","cvss":[{"version":"3.0","score":7.8,"vector":"CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high"}],"updated_at":"2026-11-02T15:54:13.356796Z"},{"id":"USN-3146-1","title":"linux vulnerabilities","description":"It was discovered that the __get_user_asm_ex implementation in the Linux\nkernel for x86/x86_64 contained extended asm statements that were\nincompatible with the exception table. A local attacker could use this to\ngain administrative privileges. (CVE-2016-9644)\n\nAndreas Gruenbacher and Jan Kara discovered that the filesystem\nimplementation in the Linux kernel did not clear the setgid bit during a\nsetxattr call. A local attacker could use this to possibly elevate group\nprivileges. (CVE-2016-7097)\n\nMarco Grassi discovered that the driver for Areca RAID Controllers in the\nLinux kernel did not properly validate control messages. A local attacker\ncould use this to cause a denial of service (system crash) or possibly gain\nprivileges. (CVE-2016-7425)\n\nDaxing Guo discovered a stack-based buffer overflow in the Broadcom\nIEEE802.11n FullMAC driver in the Linux kernel. A local attacker could use\nthis to cause a denial of service (system crash) or possibly gain\nprivileges. (CVE-2016-8658)\n","status":"published","published":"2016-11-30T20:16:59Z","modified":"2026-04-22T09:30:35.668125Z","updated_at":"2026-11-02T16:58:10.303275Z"},{"id":"USN-3146-2","title":"linux-lts-xenial vulnerabilities","description":"USN-3146-1 fixed vulnerabilities in the Linux kernel for Ubuntu 16.04\nLTS. This update provides the corresponding updates for the Linux\nHardware Enablement (HWE) kernel from Ubuntu 16.04 LTS for Ubuntu\n14.04 LTS.\n\nIt was discovered that the __get_user_asm_ex implementation in the Linux\nkernel for x86/x86_64 contained extended asm statements that were\nincompatible with the exception table. A local attacker could use this to\ngain administrative privileges. (CVE-2016-9644)\n\nAndreas Gruenbacher and Jan Kara discovered that the filesystem\nimplementation in the Linux kernel did not clear the setgid bit during a\nsetxattr call. A local attacker could use this to possibly elevate group\nprivileges. (CVE-2016-7097)\n\nMarco Grassi discovered that the driver for Areca RAID Controllers in the\nLinux kernel did not properly validate control messages. A local attacker\ncould use this to cause a denial of service (system crash) or possibly gain\nprivileges. (CVE-2016-7425)\n\nDaxing Guo discovered a stack-based buffer overflow in the Broadcom\nIEEE802.11n FullMAC driver in the Linux kernel. A local attacker could use\nthis to cause a denial of service (system crash) or possibly gain\nprivileges. (CVE-2016-8658)\n","status":"published","published":"2016-11-30T20:27:16Z","modified":"2026-02-10T04:41:03Z","updated_at":"2026-11-02T16:58:10.303275Z"},{"id":"USN-3161-4","title":"linux-snapdragon vulnerabilities","description":"Tilman Schmidt and Sasha Levin discovered a use-after-free condition in the\nTTY implementation in the Linux kernel. A local attacker could use this to\nexpose sensitive information (kernel memory). (CVE-2015-8964)\n\nIt was discovered that the Video For Linux Two (v4l2) implementation in the\nLinux kernel did not properly handle multiple planes when processing a\nVIDIOC_DQBUF ioctl(). A local attacker could use this to cause a denial of\nservice (system crash) or possibly execute arbitrary code. (CVE-2016-4568)\n\nCAI Qian discovered that shared bind mounts in a mount namespace\nexponentially added entries without restriction to the Linux kernel's mount\ntable. A local attacker could use this to cause a denial of service (system\ncrash). (CVE-2016-6213)\n\nAndreas Gruenbacher and Jan Kara discovered that the filesystem\nimplementation in the Linux kernel did not clear the setgid bit during a\nsetxattr call. A local attacker could use this to possibly elevate group\nprivileges. (CVE-2016-7097)\n\nMarco Grassi discovered that the driver for Areca RAID Controllers in the\nLinux kernel did not properly validate control messages. A local attacker\ncould use this to cause a denial of service (system crash) or possibly gain\nprivileges. (CVE-2016-7425)\n\nIt was discovered that the KVM implementation for x86/x86_64 in the Linux\nkernel could dereference a null pointer. An attacker in a guest virtual\nmachine could use this to cause a denial of service (system crash) in the\nKVM host. (CVE-2016-8630)\n\nEyal Itkin discovered that the IP over IEEE 1394 (FireWire) implementation\nin the Linux kernel contained a buffer overflow when handling fragmented\npackets. A remote attacker could use this to possibly execute arbitrary\ncode with administrative privileges. (CVE-2016-8633)\n\nMarco Grassi discovered that the TCP implementation in the Linux kernel\nmishandles socket buffer (skb) truncation. A local attacker could use this\nto cause a denial of service (system crash). (CVE-2016-8645)\n\nDaxing Guo discovered a stack-based buffer overflow in the Broadcom\nIEEE802.11n FullMAC driver in the Linux kernel. A local attacker could use\nthis to cause a denial of service (system crash) or possibly gain\nprivileges. (CVE-2016-8658)\n\nAndrey Konovalov discovered that the SCTP implementation in the Linux\nkernel improperly handled validation of incoming data. A remote attacker\ncould use this to cause a denial of service (system crash). (CVE-2016-9555)\n\nIt was discovered that the __get_user_asm_ex implementation in the Linux\nkernel for x86/x86_64 contained extended asm statements that were\nincompatible with the exception table. A local attacker could use this to\ngain administrative privileges. (CVE-2016-9644)\n","status":"published","published":"2016-12-20T21:35:24Z","modified":"2026-02-10T04:41:04Z","updated_at":"2026-11-02T16:58:10.303275Z"}]}}
