CVE-2016-0774 Memory corruption in n/a

Medium 6.8 Published Updated

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::clientAll versions0:2.6.32-573.22.1.el6
kernel-abi-whitelists Red Hat:enterprise_linux:6::clientAll versions0:2.6.32-573.22.1.el6
kernel-debug Red Hat:enterprise_linux:6::clientAll versions0:2.6.32-573.22.1.el6
kernel-debug-debuginfo Red Hat:enterprise_linux:6::clientAll versions0:2.6.32-573.22.1.el6
kernel-debug-devel Red Hat:enterprise_linux:6::clientAll versions0:2.6.32-573.22.1.el6
kernel-debuginfo Red Hat:enterprise_linux:6::clientAll versions0:2.6.32-573.22.1.el6
kernel-debuginfo-common-i686 Red Hat:enterprise_linux:6::clientAll versions0:2.6.32-573.22.1.el6
kernel-debuginfo-common-x86_64 Red Hat:enterprise_linux:6::clientAll versions0:2.6.32-573.22.1.el6
kernel-devel Red Hat:enterprise_linux:6::clientAll versions0:2.6.32-573.22.1.el6
kernel-doc Red Hat:enterprise_linux:6::clientAll versions0:2.6.32-573.22.1.el6
kernel-firmware Red Hat:enterprise_linux:6::clientAll versions0:2.6.32-573.22.1.el6
kernel-headers Red Hat:enterprise_linux:6::clientAll versions0:2.6.32-573.22.1.el6
perf Red Hat:enterprise_linux:6::clientAll versions0:2.6.32-573.22.1.el6
perf-debuginfo Red Hat:enterprise_linux:6::clientAll versions0:2.6.32-573.22.1.el6
python-perf Red Hat:enterprise_linux:6::clientAll versions0:2.6.32-573.22.1.el6
python-perf-debuginfo Red Hat:enterprise_linux:6::clientAll versions0:2.6.32-573.22.1.el6
kernel Red Hat:enterprise_linux:6::computenodeAll versions0:2.6.32-573.22.1.el6
kernel-abi-whitelists Red Hat:enterprise_linux:6::computenodeAll versions0:2.6.32-573.22.1.el6
kernel-debug Red Hat:enterprise_linux:6::computenodeAll versions0:2.6.32-573.22.1.el6
kernel-debug-debuginfo Red Hat:enterprise_linux:6::computenodeAll versions0:2.6.32-573.22.1.el6
kernel-debug-devel Red Hat:enterprise_linux:6::computenodeAll versions0:2.6.32-573.22.1.el6
kernel-debuginfo Red Hat:enterprise_linux:6::computenodeAll versions0:2.6.32-573.22.1.el6
kernel-debuginfo-common-i686 Red Hat:enterprise_linux:6::computenodeAll versions0:2.6.32-573.22.1.el6
kernel-debuginfo-common-x86_64 Red Hat:enterprise_linux:6::computenodeAll versions0:2.6.32-573.22.1.el6
kernel-devel Red Hat:enterprise_linux:6::computenodeAll versions0:2.6.32-573.22.1.el6
kernel-doc Red Hat:enterprise_linux:6::computenodeAll versions0:2.6.32-573.22.1.el6
kernel-firmware Red Hat:enterprise_linux:6::computenodeAll versions0:2.6.32-573.22.1.el6
kernel-headers Red Hat:enterprise_linux:6::computenodeAll versions0:2.6.32-573.22.1.el6
perf Red Hat:enterprise_linux:6::computenodeAll versions0:2.6.32-573.22.1.el6
perf-debuginfo Red Hat:enterprise_linux:6::computenodeAll versions0:2.6.32-573.22.1.el6
python-perf Red Hat:enterprise_linux:6::computenodeAll versions0:2.6.32-573.22.1.el6
python-perf-debuginfo Red Hat:enterprise_linux:6::computenodeAll versions0:2.6.32-573.22.1.el6
kernel Red Hat:enterprise_linux:6::serverAll versions0:2.6.32-573.22.1.el6
kernel-abi-whitelists Red Hat:enterprise_linux:6::serverAll versions0:2.6.32-573.22.1.el6
kernel-bootwrapper Red Hat:enterprise_linux:6::serverAll versions0:2.6.32-573.22.1.el6
kernel-debug Red Hat:enterprise_linux:6::serverAll versions0:2.6.32-573.22.1.el6
kernel-debug-debuginfo Red Hat:enterprise_linux:6::serverAll versions0:2.6.32-573.22.1.el6
kernel-debug-devel Red Hat:enterprise_linux:6::serverAll versions0:2.6.32-573.22.1.el6
kernel-debuginfo Red Hat:enterprise_linux:6::serverAll versions0:2.6.32-573.22.1.el6
kernel-debuginfo-common-i686 Red Hat:enterprise_linux:6::serverAll versions0: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.

All Google Android vulnerabilities

Sources

Also known as DEBIAN-CVE-2016-0774, GHSA-qc32-8fv3-qwvw, RHSA-2016:0494, RHSA-2016:0617, UBUNTU-CVE-2016-0774.

Is CVE-2016-0774 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free