CVE-2016-0774 Memory corruption in n/a
Local attackers can cause a system crash or gain privileges via a crafted application due to improper handling of failed copy operations in the Linux kernel pipe implementation.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Local or same network only
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2016-0774?
CVE-2016-0774 is a medium-severity memory corruption vulnerability in Google Android, published on 27 Apr 2016. It can only be exploited from the same machine or local network, with no action from the victim.
Official description
The (1) pipe_read and (2) pipe_write implementations in fs/pipe.c in a certain Linux kernel backport in the linux package before 3.2.73-2+deb7u3 on Debian wheezy and the kernel package before 3.10.0-229.26.2 on Red Hat Enterprise Linux (RHEL) 7.1 do not properly consider the side effects of failed __copy_to_user_inatomic and __copy_from_user_inatomic calls, which allows local users to cause a denial of service (system crash) or possibly gain privileges via a crafted application, aka an "I/O vector array overrun." NOTE: this vulnerability exists because of an incorrect fix for CVE-2015-1805.
Weakness: CWE-20
Which versions are affected by CVE-2016-0774?
It affects 2 products.
Linux distribution packages (40)
kernel Red Hat:enterprise_linux:6::client | All versions | 0:2.6.32-573.22.1.el6 |
kernel-abi-whitelists Red Hat:enterprise_linux:6::client | All versions | 0:2.6.32-573.22.1.el6 |
kernel-debug Red Hat:enterprise_linux:6::client | All versions | 0:2.6.32-573.22.1.el6 |
kernel-debug-debuginfo Red Hat:enterprise_linux:6::client | All versions | 0:2.6.32-573.22.1.el6 |
kernel-debug-devel Red Hat:enterprise_linux:6::client | All versions | 0:2.6.32-573.22.1.el6 |
kernel-debuginfo Red Hat:enterprise_linux:6::client | All versions | 0:2.6.32-573.22.1.el6 |
kernel-debuginfo-common-i686 Red Hat:enterprise_linux:6::client | All versions | 0:2.6.32-573.22.1.el6 |
kernel-debuginfo-common-x86_64 Red Hat:enterprise_linux:6::client | All versions | 0:2.6.32-573.22.1.el6 |
kernel-devel Red Hat:enterprise_linux:6::client | All versions | 0:2.6.32-573.22.1.el6 |
kernel-doc Red Hat:enterprise_linux:6::client | All versions | 0:2.6.32-573.22.1.el6 |
kernel-firmware Red Hat:enterprise_linux:6::client | All versions | 0:2.6.32-573.22.1.el6 |
kernel-headers Red Hat:enterprise_linux:6::client | All versions | 0:2.6.32-573.22.1.el6 |
perf Red Hat:enterprise_linux:6::client | All versions | 0:2.6.32-573.22.1.el6 |
perf-debuginfo Red Hat:enterprise_linux:6::client | All versions | 0:2.6.32-573.22.1.el6 |
python-perf Red Hat:enterprise_linux:6::client | All versions | 0:2.6.32-573.22.1.el6 |
python-perf-debuginfo Red Hat:enterprise_linux:6::client | All versions | 0:2.6.32-573.22.1.el6 |
kernel Red Hat:enterprise_linux:6::computenode | All versions | 0:2.6.32-573.22.1.el6 |
kernel-abi-whitelists Red Hat:enterprise_linux:6::computenode | All versions | 0:2.6.32-573.22.1.el6 |
kernel-debug Red Hat:enterprise_linux:6::computenode | All versions | 0:2.6.32-573.22.1.el6 |
kernel-debug-debuginfo Red Hat:enterprise_linux:6::computenode | All versions | 0:2.6.32-573.22.1.el6 |
kernel-debug-devel Red Hat:enterprise_linux:6::computenode | All versions | 0:2.6.32-573.22.1.el6 |
kernel-debuginfo Red Hat:enterprise_linux:6::computenode | All versions | 0:2.6.32-573.22.1.el6 |
kernel-debuginfo-common-i686 Red Hat:enterprise_linux:6::computenode | All versions | 0:2.6.32-573.22.1.el6 |
kernel-debuginfo-common-x86_64 Red Hat:enterprise_linux:6::computenode | All versions | 0:2.6.32-573.22.1.el6 |
kernel-devel Red Hat:enterprise_linux:6::computenode | All versions | 0:2.6.32-573.22.1.el6 |
kernel-doc Red Hat:enterprise_linux:6::computenode | All versions | 0:2.6.32-573.22.1.el6 |
kernel-firmware Red Hat:enterprise_linux:6::computenode | All versions | 0:2.6.32-573.22.1.el6 |
kernel-headers Red Hat:enterprise_linux:6::computenode | All versions | 0:2.6.32-573.22.1.el6 |
perf Red Hat:enterprise_linux:6::computenode | All versions | 0:2.6.32-573.22.1.el6 |
perf-debuginfo Red Hat:enterprise_linux:6::computenode | All versions | 0:2.6.32-573.22.1.el6 |
python-perf Red Hat:enterprise_linux:6::computenode | All versions | 0:2.6.32-573.22.1.el6 |
python-perf-debuginfo Red Hat:enterprise_linux:6::computenode | All versions | 0:2.6.32-573.22.1.el6 |
kernel Red Hat:enterprise_linux:6::server | All versions | 0:2.6.32-573.22.1.el6 |
kernel-abi-whitelists Red Hat:enterprise_linux:6::server | All versions | 0:2.6.32-573.22.1.el6 |
kernel-bootwrapper Red Hat:enterprise_linux:6::server | All versions | 0:2.6.32-573.22.1.el6 |
kernel-debug Red Hat:enterprise_linux:6::server | All versions | 0:2.6.32-573.22.1.el6 |
kernel-debug-debuginfo Red Hat:enterprise_linux:6::server | All versions | 0:2.6.32-573.22.1.el6 |
kernel-debug-devel Red Hat:enterprise_linux:6::server | All versions | 0:2.6.32-573.22.1.el6 |
kernel-debuginfo Red Hat:enterprise_linux:6::server | All versions | 0:2.6.32-573.22.1.el6 |
kernel-debuginfo-common-i686 Red Hat:enterprise_linux:6::server | All versions | 0:2.6.32-573.22.1.el6 |
Products include Google Android, Linux kernel.
How do I fix CVE-2016-0774?
Apply the vendor's patch.
Upgrade to the fixed version. Memory-safe languages, compiler hardening and fuzzing prevent most new cases. More about Memory corruption.
Is CVE-2016-0774 being exploited?
There is no known exploitation of CVE-2016-0774 in the wild and no public exploit code.
Other vulnerabilities in Google Android
Sources
Also known as DEBIAN-CVE-2016-0774, GHSA-qc32-8fv3-qwvw, RHSA-2016:0494, RHSA-2016:0617, UBUNTU-CVE-2016-0774.