Cloudanix VulnDB

CVE-2016-7097

Medium · 4.4

CVSS

4.4

EPSS

0.4%

Published

Oct 16, 2016

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A flaw in the Linux operating system let people who already had access to a computer obtain extra permissions belonging to certain groups.

Exploitation
Local Privilege
Attacker needs
Low Privilege
Complexity
Low
Impact
Privilege Gain
Component
OS kernel
Class
Privilege Escalation
Remediation
Upgrade
Effort
Medium
Patch risk
Medium

What it actually does

The Linux kernel filesystem code preserves the setgid bit when setxattr is invoked on a file, allowing a local process to retain group-execute privileges on a setgid binary even when the binary's execute permission has been restricted.

Why it matters to the business

Attackers who already have a local shell on an affected Linux system can obtain the privileges of the group that owns a setgid program, potentially exposing sensitive group-owned data or resources and bypassing intended access controls.

How an attack unfolds

An attacker with a local account locates a setgid program whose execute bit has been removed for non-owners, then calls setxattr on that file so the kernel keeps the setgid bit set; subsequent execution of the program runs with the target group's privileges.

How to fix it

Upgrade the Linux kernel to the commit 073931017b49d9458aa351605b43a7e34598caef or later; rebuild and reboot with the patched kernel image.

How to confirm the fix worked

Verify the running kernel contains commit 073931017b49d9458aa351605b43a7e34598caef (or a back-port) by inspecting /proc/version or the kernel build log; confirm setgid bit behavior with a test binary before and after the update.

Typical attack path

  1. Obtain a local shell on the target Linux system
  2. Identify setgid binaries that have restricted execute permissions
  3. Invoke setxattr on the chosen binary to preserve the setgid bit
  4. Execute the binary to inherit the owning group's privileges

How to detect it

Review system call audit logs for setxattr operations performed by unprivileged users on files that carry the setgid bit; correlate with subsequent executions of those files under unexpected group contexts.

What your security team should do

  • Apply the kernel patch or upgrade to a fixed distribution kernel immediately on all affected hosts
  • Audit setgid binaries and remove unnecessary setgid permissions where possible
  • Monitor for local privilege-escalation attempts using existing endpoint detection tooling

The record

The filesystem implementation in the Linux kernel through 4.8.2 preserves the setgid bit during a setxattr call, which allows local users to gain group privileges by leveraging the existence of a setgid program with restrictions on execute permissions.

Affected packages

Ecosystem Package Introduced Fixed
Debian:11 linux 0 4.7.8-1
Debian:12 linux 0 4.7.8-1
Debian:13 linux 0 4.7.8-1
Debian:7 linux 0 3.2.84-1
Mageia:5 kernel 0 4.4.30-2.mga5
Mageia:5 kernel-userspace-headers 0 4.4.30-2.mga5
Mageia:5 kmod-vboxadditions 0 5.1.2-10.mga5
Mageia:5 kmod-virtualbox 0 5.1.2-10.mga5
Mageia:5 kmod-xtables-addons 0 2.10-15.mga5
Red Hat:enterprise_linux:6::client kernel 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::client kernel-abi-whitelists 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::client kernel-bootwrapper 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::client kernel-debug 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::client kernel-debug-debuginfo 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::client kernel-debug-devel 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::client kernel-debuginfo 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::client kernel-debuginfo-common-i686 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::client kernel-debuginfo-common-ppc64 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::client kernel-debuginfo-common-s390x 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::client kernel-debuginfo-common-x86_64 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::client kernel-devel 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::client kernel-doc 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::client kernel-firmware 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::client kernel-headers 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::client kernel-kdump 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::client kernel-kdump-debuginfo 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::client kernel-kdump-devel 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::client perf 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::client perf-debuginfo 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::client python-perf 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::client python-perf-debuginfo 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::computenode kernel 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::computenode kernel-abi-whitelists 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::computenode kernel-bootwrapper 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::computenode kernel-debug 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::computenode kernel-debug-debuginfo 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::computenode kernel-debug-devel 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::computenode kernel-debuginfo 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::computenode kernel-debuginfo-common-i686 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::computenode kernel-debuginfo-common-ppc64 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::computenode kernel-debuginfo-common-s390x 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::computenode kernel-debuginfo-common-x86_64 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::computenode kernel-devel 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::computenode kernel-doc 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::computenode kernel-firmware 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::computenode kernel-headers 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::computenode kernel-kdump 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::computenode kernel-kdump-debuginfo 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::computenode kernel-kdump-devel 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::computenode perf 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::computenode perf-debuginfo 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::computenode python-perf 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::computenode python-perf-debuginfo 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::server kernel 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::server kernel-abi-whitelists 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::server kernel-bootwrapper 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::server kernel-debug 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::server kernel-debug-debuginfo 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::server kernel-debug-devel 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::server kernel-debuginfo 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::server kernel-debuginfo-common-i686 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::server kernel-debuginfo-common-ppc64 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::server kernel-debuginfo-common-s390x 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::server kernel-debuginfo-common-x86_64 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::server kernel-devel 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::server kernel-doc 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::server kernel-firmware 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::server kernel-headers 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::server kernel-kdump 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::server kernel-kdump-debuginfo 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::server kernel-kdump-devel 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::server perf 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::server perf-debuginfo 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::server python-perf 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::server python-perf-debuginfo 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::workstation kernel 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::workstation kernel-abi-whitelists 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::workstation kernel-bootwrapper 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::workstation kernel-debug 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::workstation kernel-debug-debuginfo 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::workstation kernel-debug-devel 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::workstation kernel-debuginfo 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::workstation kernel-debuginfo-common-i686 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::workstation kernel-debuginfo-common-ppc64 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::workstation kernel-debuginfo-common-s390x 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::workstation kernel-debuginfo-common-x86_64 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::workstation kernel-devel 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::workstation kernel-doc 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::workstation kernel-firmware 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::workstation kernel-headers 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::workstation kernel-kdump 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::workstation kernel-kdump-debuginfo 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::workstation kernel-kdump-devel 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::workstation perf 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::workstation perf-debuginfo 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::workstation python-perf 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::workstation python-perf-debuginfo 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:7::client kernel 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::client kernel-abi-whitelists 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::client kernel-bootwrapper 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::client kernel-debug 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::client kernel-debug-debuginfo 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::client kernel-debug-devel 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::client kernel-debuginfo 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::client kernel-debuginfo-common-ppc64 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::client kernel-debuginfo-common-ppc64le 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::client kernel-debuginfo-common-s390x 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::client kernel-debuginfo-common-x86_64 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::client kernel-devel 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::client kernel-doc 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::client kernel-headers 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::client kernel-kdump 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::client kernel-kdump-debuginfo 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::client kernel-kdump-devel 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::client kernel-tools 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::client kernel-tools-debuginfo 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::client kernel-tools-libs 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::client kernel-tools-libs-devel 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::client perf 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::client perf-debuginfo 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::client python-perf 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::client python-perf-debuginfo 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::computenode kernel 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::computenode kernel-abi-whitelists 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::computenode kernel-bootwrapper 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::computenode kernel-debug 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::computenode kernel-debug-debuginfo 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::computenode kernel-debug-devel 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::computenode kernel-debuginfo 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::computenode kernel-debuginfo-common-ppc64 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::computenode kernel-debuginfo-common-ppc64le 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::computenode kernel-debuginfo-common-s390x 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::computenode kernel-debuginfo-common-x86_64 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::computenode kernel-devel 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::computenode kernel-doc 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::computenode kernel-headers 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::computenode kernel-kdump 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::computenode kernel-kdump-debuginfo 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::computenode kernel-kdump-devel 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::computenode kernel-tools 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::computenode kernel-tools-debuginfo 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::computenode kernel-tools-libs 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::computenode kernel-tools-libs-devel 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::computenode perf 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::computenode perf-debuginfo 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::computenode python-perf 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::computenode python-perf-debuginfo 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::server kernel 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::server kernel-abi-whitelists 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::server kernel-bootwrapper 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::server kernel-debug 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::server kernel-debug-debuginfo 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::server kernel-debug-devel 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::server kernel-debuginfo 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::server kernel-debuginfo-common-ppc64 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::server kernel-debuginfo-common-ppc64le 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::server kernel-debuginfo-common-s390x 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::server kernel-debuginfo-common-x86_64 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::server kernel-devel 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::server kernel-doc 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::server kernel-headers 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::server kernel-kdump 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::server kernel-kdump-debuginfo 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::server kernel-kdump-devel 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::server kernel-tools 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::server kernel-tools-debuginfo 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::server kernel-tools-libs 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::server kernel-tools-libs-devel 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::server perf 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::server perf-debuginfo 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::server python-perf 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::server python-perf-debuginfo 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::workstation kernel 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::workstation kernel-abi-whitelists 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::workstation kernel-bootwrapper 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::workstation kernel-debug 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::workstation kernel-debug-debuginfo 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::workstation kernel-debug-devel 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::workstation kernel-debuginfo 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::workstation kernel-debuginfo-common-ppc64 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::workstation kernel-debuginfo-common-ppc64le 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::workstation kernel-debuginfo-common-s390x 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::workstation kernel-debuginfo-common-x86_64 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::workstation kernel-devel 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::workstation kernel-doc 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::workstation kernel-headers 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::workstation kernel-kdump 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::workstation kernel-kdump-debuginfo 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::workstation kernel-kdump-devel 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::workstation kernel-tools 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::workstation kernel-tools-debuginfo 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::workstation kernel-tools-libs 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::workstation kernel-tools-libs-devel 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::workstation perf 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::workstation perf-debuginfo 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::workstation python-perf 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::workstation python-perf-debuginfo 0 0:3.10.0-693.el7
Red Hat:enterprise_mrg:2:server:el6 kernel-rt 0 1:3.10.0-693.2.1.rt56.585.el6rt
Red Hat:enterprise_mrg:2:server:el6 kernel-rt-debug 0 1:3.10.0-693.2.1.rt56.585.el6rt
Red Hat:enterprise_mrg:2:server:el6 kernel-rt-debug-debuginfo 0 1:3.10.0-693.2.1.rt56.585.el6rt

Related vulnerabilities