CVE-2016-2847: Medium severity Linux Linux kernel vulnerability
fs/pipe.c in the Linux kernel before 4.5 does not limit the amount of unread data in pipes, which allows local users to cause a denial of service (memory consumption) by creating many pipes with non-default sizes.
Other sources
On no-so-small systems, it is possible for a single process to cause an OOM condition by filling large pipes with data that are never read. A typical process filling 4096 pipes with 1 MB of data will use 4 GB of memory. On small systems it may be tricky to set the pipe max size to prevent this from happening. The result is an OOM condition and oom-killer is not able to help much, as the memory for the pipe data is a kernel memory and a memory footprint of offensive processes is small.
Upstream patch: https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=759c01142a5d0f364a462346168a56de28a80f52
Discussion threads: https://www.spinics.net/lists/linux-fsdevel/msg92912.html | https://lkml.org/lkml/2015/12/28/150 https://www.spinics.net/lists/linux-fsdevel/msg93317.html | https://lkml.org/lkml/2016/1/11/310 https://www.spinics.net/lists/linux-fsdevel/msg93601.html | https://lkml.org/lkml/2016/1/18/171
CVE request and assignment: http://seclists.org/oss-sec/2016/q1/467 http://seclists.org/oss-sec/2016/q1/538
— Red Hat
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
debian/linuxto a version that resolves this vulnerability.Fixed in 5.10.223-1Fixed in 5.10.234-1Fixed in 6.1.129-1Fixed in 6.1.135-1Fixed in 6.12.22-1Fixed in 6.12.25-1 - Upgrade
Upgrade
Linux kernelto a version that resolves this vulnerability.Fixed in 4.5 - Configuration
Set the pipe maximum size to prevent excessive unread pipe data from causing memory exhaustion.
Linux kernel pipes pipe max size
Event History
Frequently Asked Questions
What is the severity of CVE-2016-2847?
CVE-2016-2847 has a severity rating that indicates it can lead to denial of service by consuming excessive memory.
How do I fix CVE-2016-2847?
To fix CVE-2016-2847, update the Linux kernel to version 4.5 or later, or apply the relevant patches provided by your distribution.
Which versions of Linux are affected by CVE-2016-2847?
CVE-2016-2847 affects Linux kernel versions before 4.5, as well as specific versions of SUSE Linux Enterprise products.
What is the impact of CVE-2016-2847?
The impact of CVE-2016-2847 includes the potential for local users to create a denial of service through high memory consumption.
Who can exploit CVE-2016-2847?
CVE-2016-2847 can be exploited by local users on the system, as it does not require remote access.