CVE-2016-4558
The BPF subsystem in the Linux kernel before 4.5.5 mishandles reference counts, which allows...
CVE-2016-4558 is a high vulnerability (CVSS 7.0) in Linux Kernel, published May 23, 2016. Public exploit code exists. EPSS puts the chance of exploitation in the next 30 days at 0.86%, the 58th percentile. Fixed in linux 4.5.3-1.
The BPF subsystem in the Linux kernel before 4.5.5 mishandles reference counts, which allows local users to cause a denial of service (use-after-free) or possibly have unspecified other impact via a crafted application on (1) a system with more than 32 Gb of memory, related to the program reference count or (2) a 1 Tb system, related to the map reference count.
Attack profile
How easy it is to exploit
- Attack vector
- Local
- Complexity
- High
- Privileges needed
- Low
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- High
- Availability
- High
Exploit likelihood
What each source reports
NVD Score used
7.0
The BPF subsystem in the Linux kernel before 4.5.5 mishandles reference counts, which allows local users to cause a denial of service (use-after-free) or possibly have unspecified other impact via a crafted application on (1) a system with more than 32 Gb of memory, related to the program reference count or (2) a 1 Tb system, related to the map reference count.
- Record
CVE-2016-4558- CVSS 3.1
- 7.0 High
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H - CVSS 2.0
- 6.9 Medium
AV:L/AC:M/Au:N/C:C/I:C/A:C - Updated
- 2026-11-02
CVE List No score
The BPF subsystem in the Linux kernel before 4.5.5 mishandles reference counts, which allows local users to cause a denial of service (use-after-free) or possibly have unspecified other impact via a crafted application on (1) a system with more than 32 Gb of memory, related to the program reference count or (2) a 1 Tb system, related to the map reference count.
- Record
CVE-2016-4558- Updated
- 2026-11-02
EUVDEUVD-2016-5545 No score
The BPF subsystem in the Linux kernel before 4.5.5 mishandles reference counts, which allows local users to cause a denial of service (use-after-free) or possibly have unspecified other impact via a crafted application on (1) a system with more than 32 Gb of memory, related to the program reference count or (2) a 1 Tb system, related to the map reference count.
- Record
EUVD-2016-5545- Updated
- 2026-11-03
GitHub AdvisoriesGHSA-283c-4h8h-4xmp
7.0
The BPF subsystem in the Linux kernel before 4.5.5 mishandles reference counts, which allows...
The BPF subsystem in the Linux kernel before 4.5.5 mishandles reference counts, which allows local users to cause a denial of service (use-after-free) or possibly have unspecified other impact via a crafted application on (1) a system with more than 32 Gb of memory, related to the program reference count or (2) a 1 Tb system, related to the map reference count.
- Record
GHSA-283c-4h8h-4xmp- CVSS 3.0
- 7.0 High
CVSS:3.0/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSV
7.0
The BPF subsystem in the Linux kernel before 4.5.5 mishandles reference counts, which allows local users to cause a denial of service (use-after-free) or possibly have unspecified other impact via a crafted application on (1) a system with more than 32 Gb of memory, related to the program reference count or (2) a 1 Tb system, related to the map reference count.
- Record
CVE-2016-4558- CVSS 3.1
- 7.0 High
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVDEBIAN-CVE-2016-4558
7.0
The BPF subsystem in the Linux kernel before 4.5.5 mishandles reference counts, which allows local users to cause a denial of service (use-after-free) or possibly have unspecified other impact via a crafted application on (1) a system with more than 32 Gb of memory, related to the program reference count or (2) a 1 Tb system, related to the map reference count.
- Record
DEBIAN-CVE-2016-4558- CVSS 3.1
- 7.0 High
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
Show 5 moreShow less
OSVUBUNTU-CVE-2016-4558
7.0
The BPF subsystem in the Linux kernel before 4.5.5 mishandles reference counts, which allows local users to cause a denial of service (use-after-free) or possibly have unspecified other impact via a crafted application on (1) a system with more than 32 Gb of memory, related to the program reference count or (2) a 1 Tb system, related to the map reference count.
- Record
UBUNTU-CVE-2016-4558- CVSS 3.1
- 7.0 High
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H - CVSS 3.0
- 7.0 High
CVSS:3.0/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVopenSUSE-SU-2024:10128-1 No score
kernel-debug-4.8.13-1.1 on GA media
These are all security issues fixed in the kernel-debug-4.8.13-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2024:10128-1- Updated
- 2026-11-02
OSVUSN-3005-1 No score
linux-lts-xenial vulnerabilities
Justin Yackoski discovered that the Atheros L2 Ethernet Driver in the Linux kernel incorrectly enables scatter/gather I/O. A remote attacker could use this to obtain potentially sensitive information from kernel memory. (CVE-2016-2117)
Jann Horn discovered that eCryptfs improperly attempted to use the mmap() handler of a lower filesystem that did not implement one, causing a recursive page fault to occur. A local unprivileged attacker could use to cause a denial of service (system crash) or possibly execute arbitrary code with administrative privileges. (CVE-2016-1583)
Multiple race conditions where discovered in the Linux kernel's ext4 file system. A local user could exploit this flaw to cause a denial of service (disk corruption) by writing to a page that is associated with a different users file after unsynchronized hole punching and page-fault handling. (CVE-2015-8839)
Ralf Spenneberg discovered that the Linux kernel's GTCO digitizer USB device driver did not properly validate endpoint descriptors. An attacker with physical access could use this to cause a denial of service (system crash). (CVE-2016-2187)
Vitaly Kuznetsov discovered that the Linux kernel did not properly suppress hugetlbfs support in X86 paravirtualized guests. An attacker in the guest OS could cause a denial of service (guest system crash). (CVE-2016-3961)
Kangjie Lu discovered an information leak in the ANSI/IEEE 802.2 LLC type 2 Support implementations in the Linux kernel. A local attacker could use this to obtain potentially sensitive information from kernel memory. (CVE-2016-4485)
Kangjie Lu discovered an information leak in the routing netlink socket interface (rtnetlink) implementation in the Linux kernel. A local attacker could use this to obtain potentially sensitive information from kernel memory. (CVE-2016-4486)
Jann Horn discovered that the extended Berkeley Packet Filter (eBPF) implementation in the Linux kernel could overflow reference counters on systems with more than 32GB of physical ram and with RLIMIT_MEMLOCK set to infinite. A local unprivileged attacker could use to create a use-after- free situation, causing a denial of service (system crash) or possibly gain administrative privileges. (CVE-2016-4558)
Jann Horn discovered that the InfiniBand interfaces within the Linux kernel could be coerced into overwriting kernel memory. A local unprivileged attacker could use this to possibly gain administrative privileges on systems where InifiniBand related kernel modules are loaded. (CVE-2016-4565)
It was discovered that in some situations the Linux kernel did not handle propagated mounts correctly. A local unprivileged attacker could use this to cause a denial of service (system crash). (CVE-2016-4581)
- Record
USN-3005-1- Updated
- 2026-11-02
OSVUSN-3006-1 No score
linux vulnerabilities
Justin Yackoski discovered that the Atheros L2 Ethernet Driver in the Linux kernel incorrectly enables scatter/gather I/O. A remote attacker could use this to obtain potentially sensitive information from kernel memory. (CVE-2016-2117)
Jann Horn discovered that eCryptfs improperly attempted to use the mmap() handler of a lower filesystem that did not implement one, causing a recursive page fault to occur. A local unprivileged attacker could use to cause a denial of service (system crash) or possibly execute arbitrary code with administrative privileges. (CVE-2016-1583)
Multiple race conditions where discovered in the Linux kernel's ext4 file system. A local user could exploit this flaw to cause a denial of service (disk corruption) by writing to a page that is associated with a different users file after unsynchronized hole punching and page-fault handling. (CVE-2015-8839)
Ralf Spenneberg discovered that the Linux kernel's GTCO digitizer USB device driver did not properly validate endpoint descriptors. An attacker with physical access could use this to cause a denial of service (system crash). (CVE-2016-2187)
Vitaly Kuznetsov discovered that the Linux kernel did not properly suppress hugetlbfs support in X86 paravirtualized guests. An attacker in the guest OS could cause a denial of service (guest system crash). (CVE-2016-3961)
Kangjie Lu discovered an information leak in the ANSI/IEEE 802.2 LLC type 2 Support implementations in the Linux kernel. A local attacker could use this to obtain potentially sensitive information from kernel memory. (CVE-2016-4485)
Kangjie Lu discovered an information leak in the routing netlink socket interface (rtnetlink) implementation in the Linux kernel. A local attacker could use this to obtain potentially sensitive information from kernel memory. (CVE-2016-4486)
Jann Horn discovered that the extended Berkeley Packet Filter (eBPF) implementation in the Linux kernel could overflow reference counters on systems with more than 32GB of physical ram and with RLIMIT_MEMLOCK set to infinite. A local unprivileged attacker could use to create a use-after- free situation, causing a denial of service (system crash) or possibly gain administrative privileges. (CVE-2016-4558)
Jann Horn discovered that the InfiniBand interfaces within the Linux kernel could be coerced into overwriting kernel memory. A local unprivileged attacker could use this to possibly gain administrative privileges on systems where InifiniBand related kernel modules are loaded. (CVE-2016-4565)
It was discovered that in some situations the Linux kernel did not handle propagated mounts correctly. A local unprivileged attacker could use this to cause a denial of service (system crash). (CVE-2016-4581)
- Record
USN-3006-1- Updated
- 2026-11-02
OSVUSN-3007-1 No score
linux-raspi2 vulnerabilities
Justin Yackoski discovered that the Atheros L2 Ethernet Driver in the Linux kernel incorrectly enables scatter/gather I/O. A remote attacker could use this to obtain potentially sensitive information from kernel memory. (CVE-2016-2117)
Jann Horn discovered that eCryptfs improperly attempted to use the mmap() handler of a lower filesystem that did not implement one, causing a recursive page fault to occur. A local unprivileged attacker could use to cause a denial of service (system crash) or possibly execute arbitrary code with administrative privileges. (CVE-2016-1583)
Multiple race conditions where discovered in the Linux kernel's ext4 file system. A local user could exploit this flaw to cause a denial of service (disk corruption) by writing to a page that is associated with a different users file after unsynchronized hole punching and page-fault handling. (CVE-2015-8839)
Ralf Spenneberg discovered that the Linux kernel's GTCO digitizer USB device driver did not properly validate endpoint descriptors. An attacker with physical access could use this to cause a denial of service (system crash). (CVE-2016-2187)
Vitaly Kuznetsov discovered that the Linux kernel did not properly suppress hugetlbfs support in X86 paravirtualized guests. An attacker in the guest OS could cause a denial of service (guest system crash). (CVE-2016-3961)
Kangjie Lu discovered an information leak in the ANSI/IEEE 802.2 LLC type 2 Support implementations in the Linux kernel. A local attacker could use this to obtain potentially sensitive information from kernel memory. (CVE-2016-4485)
Kangjie Lu discovered an information leak in the routing netlink socket interface (rtnetlink) implementation in the Linux kernel. A local attacker could use this to obtain potentially sensitive information from kernel memory. (CVE-2016-4486)
Jann Horn discovered that the extended Berkeley Packet Filter (eBPF) implementation in the Linux kernel could overflow reference counters on systems with more than 32GB of physical ram and with RLIMIT_MEMLOCK set to infinite. A local unprivileged attacker could use to create a use-after- free situation, causing a denial of service (system crash) or possibly gain administrative privileges. (CVE-2016-4558)
Jann Horn discovered that the InfiniBand interfaces within the Linux kernel could be coerced into overwriting kernel memory. A local unprivileged attacker could use this to possibly gain administrative privileges on systems where InifiniBand related kernel modules are loaded. (CVE-2016-4565)
It was discovered that in some situations the Linux kernel did not handle propagated mounts correctly. A local unprivileged attacker could use this to cause a denial of service (system crash). (CVE-2016-4581)
- Record
USN-3007-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
linuxDebian:12 |
before 4.5.3-1 | 4.5.3-1 |
linuxDebian:13 |
before 4.5.3-1 | 4.5.3-1 |
linuxDebian:14 |
before 4.5.3-1 | 4.5.3-1 |
linux-lts-xenialUbuntu:14.04:LTS |
before 4.4.0-24.43~14.04.1, plus listed versions 4.4.0-13.29~14.04.14.4.0-14.30~14.04.24.4.0-15.31~14.04.14.4.0-18.34~14.04.14.4.0-21.37~14.04.14.4.0-22.39~14.04.14.4.0-22.40~14.04.1 |
4.4.0-24.43~14.04.1 |
linuxUbuntu:16.04:LTS |
before 4.4.0-24.43, plus listed versions 4.2.0-16.194.2.0-17.214.2.0-19.234.3.0-1.104.3.0-2.11 Show 21 moreShow less4.3.0-5.164.3.0-6.174.3.0-7.184.4.0-2.164.4.0-4.194.4.0-6.214.4.0-7.224.4.0-8.234.4.0-9.244.4.0-10.254.4.0-11.264.4.0-12.284.4.0-13.294.4.0-14.304.4.0-15.314.4.0-16.324.4.0-17.334.4.0-18.344.4.0-21.374.4.0-22.394.4.0-22.40 |
4.4.0-24.43 |
linux-raspi2Ubuntu:16.04:LTS |
before 4.4.0-1012.16, plus listed versions 4.2.0-1013.194.2.0-1014.214.3.0-1006.64.4.0-1003.44.4.0-1004.54.4.0-1009.104.4.0-1010.124.4.0-1010.13 |
4.4.0-1012.16 |
linux-snapdragonUbuntu:16.04:LTS |
before 4.4.0-1015.18, plus listed versions 4.4.0-1012.124.4.0-1013.144.4.0-1013.15 |
4.4.0-1015.18 |
kernel-sourceopenSUSE:Tumbleweed |
before 4.8.13-1.1 | 4.8.13-1.1 |
Public exploits
Links only. Every CVE stores no exploit code.
| Source | Link | Date |
|---|---|---|
| Exploit-DB | Linux Kernel (Ubuntu 16.04) - Reference Count Overflow Using BPF Maps | 2016-05-04 |
History
| When | Changed | Sources |
|---|---|---|
| 2026-11-03 | aliases | EUVD |
| 2026-11-02 | created | CVE List, Exploit-DB, GitHub Advisories, NVD, OSV |
References
ubuntu.com/usn/USN-3006-1
bugzilla.redhat.com/show_bug.cgi?id=1334303
ubuntu.com/usn/USN-3005-1
github.com/torvalds/linux/commit/92117d8443bc5afacc8d5ba82e541946310f106e
ubuntu.com/usn/USN-3007-1
kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.5.5
Show 103 moreShow less
openwall.com/lists/oss-security/2016/05/06/4
git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit?id=92117d8443bc5afacc8d5ba82e541946310f106e
nvd.nist.gov/vuln/detail/CVE-2016-4558
github.com/advisories/GHSA-283c-4h8h-4xmp
security-tracker.debian.org/tracker/CVE-2016-4558
ubuntu.com/security/CVE-2016-4558
git.kernel.org/linus/92117d8443bc5afacc8d5ba82e541946310f106e
openwall.com/lists/oss-security/2016/05/06/7
ubuntu.com/security/notices/USN-3005-1
ubuntu.com/security/notices/USN-3006-1
ubuntu.com/security/notices/USN-3007-1
cve.org/CVERecord?id=CVE-2016-4558
ubuntu.com/security/CVE-2015-8839
ubuntu.com/security/CVE-2016-1583
ubuntu.com/security/CVE-2016-2117
ubuntu.com/security/CVE-2016-2187
ubuntu.com/security/CVE-2016-3961
ubuntu.com/security/CVE-2016-4485
ubuntu.com/security/CVE-2016-4486
ubuntu.com/security/CVE-2016-4565
ubuntu.com/security/CVE-2016-4581
suse.com/security/cve/CVE-2009-3939
suse.com/security/cve/CVE-2009-4026
suse.com/security/cve/CVE-2009-4027
suse.com/security/cve/CVE-2009-4131
suse.com/security/cve/CVE-2009-4138
suse.com/security/cve/CVE-2009-4536
suse.com/security/cve/CVE-2009-4538
suse.com/security/cve/CVE-2010-1146
suse.com/security/cve/CVE-2010-1436
suse.com/security/cve/CVE-2010-1641
suse.com/security/cve/CVE-2010-2066
suse.com/security/cve/CVE-2010-2942
suse.com/security/cve/CVE-2010-2954
suse.com/security/cve/CVE-2010-2955
suse.com/security/cve/CVE-2010-3081
suse.com/security/cve/CVE-2010-3296
suse.com/security/cve/CVE-2010-3297
suse.com/security/cve/CVE-2010-3298
suse.com/security/cve/CVE-2010-3301
suse.com/security/cve/CVE-2010-3310
suse.com/security/cve/CVE-2011-0711
suse.com/security/cve/CVE-2011-0712
suse.com/security/cve/CVE-2011-1020
suse.com/security/cve/CVE-2011-1180
suse.com/security/cve/CVE-2011-1577
suse.com/security/cve/CVE-2011-1581
suse.com/security/cve/CVE-2011-2203
suse.com/security/cve/CVE-2011-4604
suse.com/security/cve/CVE-2012-0056
suse.com/security/cve/CVE-2012-3412
suse.com/security/cve/CVE-2012-3520
suse.com/security/cve/CVE-2013-0160
suse.com/security/cve/CVE-2013-0231
suse.com/security/cve/CVE-2013-0913
suse.com/security/cve/CVE-2013-2850
suse.com/security/cve/CVE-2014-0038
suse.com/security/cve/CVE-2014-0196
suse.com/security/cve/CVE-2014-0691
suse.com/security/cve/CVE-2014-8133
suse.com/security/cve/CVE-2015-1333
suse.com/security/cve/CVE-2015-7550
suse.com/security/cve/CVE-2015-7884
suse.com/security/cve/CVE-2015-7885
suse.com/security/cve/CVE-2015-8539
suse.com/security/cve/CVE-2015-8660
suse.com/security/cve/CVE-2016-0723
suse.com/security/cve/CVE-2016-0728
suse.com/security/cve/CVE-2016-1237
suse.com/security/cve/CVE-2016-1583
suse.com/security/cve/CVE-2016-2184
suse.com/security/cve/CVE-2016-2185
suse.com/security/cve/CVE-2016-2186
suse.com/security/cve/CVE-2016-2384
suse.com/security/cve/CVE-2016-3134
suse.com/security/cve/CVE-2016-3135
suse.com/security/cve/CVE-2016-3136
suse.com/security/cve/CVE-2016-3140
suse.com/security/cve/CVE-2016-3689
suse.com/security/cve/CVE-2016-3713
suse.com/security/cve/CVE-2016-4470
suse.com/security/cve/CVE-2016-4485
suse.com/security/cve/CVE-2016-4486
suse.com/security/cve/CVE-2016-4557
suse.com/security/cve/CVE-2016-4558
suse.com/security/cve/CVE-2016-4569
suse.com/security/cve/CVE-2016-4578
suse.com/security/cve/CVE-2016-4951
suse.com/security/cve/CVE-2016-4997
suse.com/security/cve/CVE-2016-4998
suse.com/security/cve/CVE-2016-5195
suse.com/security/cve/CVE-2016-5244
suse.com/security/cve/CVE-2016-5829
suse.com/security/cve/CVE-2016-6187
suse.com/security/cve/CVE-2016-6480
suse.com/security/cve/CVE-2016-6516
suse.com/security/cve/CVE-2016-6828
suse.com/security/cve/CVE-2016-7039
suse.com/security/cve/CVE-2016-7042
suse.com/security/cve/CVE-2016-7425
suse.com/security/cve/CVE-2016-7913
suse.com/security/cve/CVE-2016-9555
suse.com/security/cve/CVE-2016-9576