CVE-2020-8835
Linux kernel bpf verifier vulnerability
In the Linux kernel 5.5.0 and newer, the bpf verifier (kernel/bpf/verifier.c) did not properly restrict the register bounds for 32-bit operations, leading to out-of-bounds reads and writes in kernel memory. The vulnerability also affects the Linux 5.4 stable series, starting with v5.4.7, as the introducing commit was backported to that branch. This vulnerability was fixed in 5.6.1, 5.5.14, and 5.4.29. (issue is aka ZDI-CAN-10780)
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
CVE List Score used
7.8
Linux kernel bpf verifier vulnerability
In the Linux kernel 5.5.0 and newer, the bpf verifier (kernel/bpf/verifier.c) did not properly restrict the register bounds for 32-bit operations, leading to out-of-bounds reads and writes in kernel memory. The vulnerability also affects the Linux 5.4 stable series, starting with v5.4.7, as the introducing commit was backported to that branch. This vulnerability was fixed in 5.6.1, 5.5.14, and 5.4.29. (issue is aka ZDI-CAN-10780)
- Record
CVE-2020-8835- CVSS 3.1
- 7.8 High
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H - Updated
- 2026-11-02
EUVDEUVD-2020-29678
7.8
In the Linux kernel 5.5.0 and newer, the bpf verifier (kernel/bpf/verifier.c) did not properly restrict the register bounds for 32-bit operations, leading to out-of-bounds reads and writes in kernel memory. The vulnerability also affects the Linux 5.4 stable series, starting with v5.4.7, as the introducing commit was backported to that branch. This vulnerability was fixed in 5.6.1, 5.5.14, and 5.4.29. (issue is aka ZDI-CAN-10780)
- Record
EUVD-2020-29678- CVSS 3.1
- 7.8 High
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H - Updated
- 2026-11-03
GitHub AdvisoriesGHSA-774r-wvx9-mm68
7.8
In the Linux kernel 5.5.0 and newer, the bpf verifier (kernel/bpf/verifier.c) did not properly...
In the Linux kernel 5.5.0 and newer, the bpf verifier (kernel/bpf/verifier.c) did not properly restrict the register bounds for 32-bit operations, leading to out-of-bounds reads and writes in kernel memory. The vulnerability also affects the Linux 5.4 stable series, starting with v5.4.7, as the introducing commit was backported to that branch. This vulnerability was fixed in 5.6.1, 5.5.14, and 5.4.29. (issue is aka ZDI-CAN-10780)
- Record
GHSA-774r-wvx9-mm68- CVSS 3.1
- 7.8 High
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-119, CWE-125
- Updated
- 2026-11-02
NVD
7.8
In the Linux kernel 5.5.0 and newer, the bpf verifier (kernel/bpf/verifier.c) did not properly restrict the register bounds for 32-bit operations, leading to out-of-bounds reads and writes in kernel memory. The vulnerability also affects the Linux 5.4 stable series, starting with v5.4.7, as the introducing commit was backported to that branch. This vulnerability was fixed in 5.6.1, 5.5.14, and 5.4.29. (issue is aka ZDI-CAN-10780)
- Record
CVE-2020-8835- CVSS 3.1
- 7.8 High
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H - CVSS 3.1
- 7.8 High
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H - CVSS 2.0
- 7.2 High
AV:L/AC:L/Au:N/C:C/I:C/A:C - Weakness
- CWE-125, CWE-787
- Updated
- 2026-11-02
OSVBELL-CVE-2020-8835
7.8
CVE-2020-8835 does not affect BellSoft software
- Record
BELL-CVE-2020-8835- CVSS 3.1
- 7.8 High
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSV
7.8
In the Linux kernel 5.5.0 and newer, the bpf verifier (kernel/bpf/verifier.c) did not properly restrict the register bounds for 32-bit operations, leading to out-of-bounds reads and writes in kernel memory. The vulnerability also affects the Linux 5.4 stable series, starting with v5.4.7, as the introducing commit was backported to that branch. This vulnerability was fixed in 5.6.1, 5.5.14, and 5.4.29. (issue is aka ZDI-CAN-10780)
- Record
CVE-2020-8835- CVSS 3.1
- 7.8 High
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
Show 5 moreShow less
OSVDEBIAN-CVE-2020-8835
7.8
In the Linux kernel 5.5.0 and newer, the bpf verifier (kernel/bpf/verifier.c) did not properly restrict the register bounds for 32-bit operations, leading to out-of-bounds reads and writes in kernel memory. The vulnerability also affects the Linux 5.4 stable series, starting with v5.4.7, as the introducing commit was backported to that branch. This vulnerability was fixed in 5.6.1, 5.5.14, and 5.4.29. (issue is aka ZDI-CAN-10780)
- Record
DEBIAN-CVE-2020-8835- CVSS 3.1
- 7.8 High
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVUBUNTU-CVE-2020-8835
7.8
In the Linux kernel 5.5.0 and newer, the bpf verifier (kernel/bpf/verifier.c) did not properly restrict the register bounds for 32-bit operations, leading to out-of-bounds reads and writes in kernel memory. The vulnerability also affects the Linux 5.4 stable series, starting with v5.4.7, as the introducing commit was backported to that branch. This vulnerability was fixed in 5.6.1, 5.5.14, and 5.4.29. (issue is aka ZDI-CAN-10780)
- Record
UBUNTU-CVE-2020-8835- CVSS 3.1
- 7.8 High
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H - CVSS 3.1
- 7.8 High
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVMGASA-2020-0156 No score
Updated kernel packages fix security vulnerabilities
This update is based on upstream 5.5.14 and fixes at least the following security vulnerabilities:
In the Linux kernel 5.3.10, there is a use-after-free (read) in the perf_trace_lock_acquire function (related to include/trace/events/lock.h) (CVE-2019-19769).
Manfred Paul discovered that the bpf verifier in the Linux kernel did not properly calculate register bounds for certain operations. A local attacker could use this to expose sensitive information (kernel memory) or gain administrative privileges (CVE-2020-8835).
Security fixes and hardenings to the mac00211 layer to prevent leaking keys and frames.
Other notable changes in this update:
- WireGuard kernel module has been updated to v1.0.20200330 and the tools to v1.0.20200319.
- exfat-utils has been rebuilt in core (was previously in tainted) as we now also ship the official upstream exfat driver.
For other upstream fixes in this update, see the referenced changelogs.
- Record
MGASA-2020-0156- Updated
- 2026-11-02
OSVMGASA-2020-0158 No score
Updated kernel-linus packages fix security vulnerabilities
This update is based on upstream 5.5.15 and fixes at least the following security vulnerabilities:
In the Linux kernel 5.4.0-rc2, there is a use-after-free (read) in the __blk_add_trace function in kernel/trace/blktrace.c (which is used to fill out a blk_io_trace structure and place it in a per-cpu sub-buffer) (CVE-2019-19768).
In the Linux kernel 5.3.10, there is a use-after-free (read) in the perf_trace_lock_acquire function (related to include/trace/events/lock.h) (CVE-2019-19769).
A flaw was found in the way KVM hypervisor handled instruction emulation for the L2 guest when nested(=1) virtualization is enabled. In the instruction emulation, the L2 guest could trick the L0 hypervisor into accessing sensitive bits of the L1 hypervisor. An L2 guest could use this flaw to potentially access information of the L1 hypervisor (CVE-2020-2732).
There is a use-after-free vulnerability in the Linux kernel through 5.5.2 in the vc_do_resize function in drivers/tty/vt/vt.c (CVE-2020-8647).
There is a use-after-free vulnerability in the Linux kernel through 5.5.2 in the n_tty_receive_buf_common function in drivers/tty/n_tty.c (CVE-2020-8648).
Manfred Paul discovered that the bpf verifier in the Linux kernel did not properly calculate register bounds for certain operations. A local attacker could use this to expose sensitive information (kernel memory) or gain administrative privileges (CVE-2020-8835).
There is a use-after-free vulnerability in the Linux kernel through 5.5.2 in the vgacon_invert_region function in drivers/video/console/vgacon.c. (CVE-2020-8649).
An issue was discovered in the Linux kernel through 5.5.6. set_fdc in drivers/block/floppy.c leads to a wait_til_ready out-of-bounds read because the FDC index is not checked for errors before assigning it, aka CID-2e90ca68b0d2 (CVE-2020-9383).
An issue was discovered in the Linux kernel 5.4 and 5.5 through 5.5.6 on the AArch64 architecture. It ignores the top byte in the address passed to the brk system call, potentially moving the memory break downwards when the application expects it to move upwards, aka CID- dcde237319e6. This has been observed to cause heap corruption with the GNU C Library malloc implementation (CVE-2020-9391).
Security fixes and hardenings to the mac00211 layer to prevent leaking keys and frames.
For other upstream fixes in this update, see the referenced changelogs.
- Record
MGASA-2020-0158- Updated
- 2026-11-02
OSVUSN-4313-1 No score
linux, linux-aws, linux-azure, linux-azure-5.3, linux-gcp, linux-gcp-5.3, linux-gke-5.3, linux-hwe, linux-kvm, linux-oracle, linux-oracle-5.3, linux-raspi2, linux-raspi2-5.3 vulnerability
Manfred Paul discovered that the bpf verifier in the Linux kernel did not properly calculate register bounds for certain operations. A local attacker could use this to expose sensitive information (kernel memory) or gain administrative privileges.
- Record
USN-4313-1- Updated
- 2026-11-02
Affected products
- linux kernel
- linux kernel kernel
- canonical ubuntu linux
- fedoraproject fedora
- netapp 8300 firmware
- netapp 8700 firmware
- netapp a220 firmware
- netapp a320 firmware
- netapp a400 firmware
- netapp a700s firmware
- netapp a800 firmware
- netapp c190 firmware
Show 16 moreShow less
- netapp cloud backup
- netapp fas2720 firmware
- netapp fas2750 firmware
- netapp h300e firmware
- netapp h300s firmware
- netapp h410s firmware
- netapp h500e firmware
- netapp h500s firmware
- netapp h610c firmware
- netapp h610s firmware
- netapp h615c firmware
- netapp h700e firmware
- netapp h700s firmware
- netapp hci management node
- netapp solidfire
- netapp steelstore cloud integrated storage
Affected packages
| Package | Affected | Fixed |
|---|---|---|
linuxDebian:12 |
before 5.5.13-2 | 5.5.13-2 |
linuxDebian:13 |
before 5.5.13-2 | 5.5.13-2 |
linuxDebian:14 |
before 5.5.13-2 | 5.5.13-2 |
kernelMageia:7 From an advisory covering 2 CVEs |
before 5.5.14-1.mga7 | 5.5.14-1.mga7 |
kmod-virtualboxMageia:7 From an advisory covering 2 CVEs |
before 6.0.18-8.mga7 | 6.0.18-8.mga7 |
kmod-xtables-addonsMageia:7 From an advisory covering 2 CVEs |
before 3.8-8.mga7 | 3.8-8.mga7 |
wireguard-toolsMageia:7 From an advisory covering 2 CVEs |
before 1.0.20200319-1.mga7 | 1.0.20200319-1.mga7 |
exfat-utilsMageia:7 From an advisory covering 2 CVEs |
before 1.3.0-2.mga7 | 1.3.0-2.mga7 |
kernel-linusMageia:7 From an advisory covering 9 CVEs |
before 5.5.15-1.mga7 | 5.5.15-1.mga7 |
linux-azure-5.3Ubuntu:18.04:LTS |
before 5.3.0-1018.19~18.04.1, plus listed versions 5.3.0-1007.8~18.04.15.3.0-1008.9~18.04.15.3.0-1009.10~18.04.15.3.0-1010.11~18.04.15.3.0-1012.13~18.04.15.3.0-1013.14~18.04.15.3.0-1016.17~18.04.1 |
5.3.0-1018.19~18.04.1 |
Show 9 moreShow less
| Package | Affected | Fixed |
|---|---|---|
linux-gcp-5.3Ubuntu:18.04:LTS |
before 5.3.0-1016.17~18.04.1, plus listed versions 5.3.0-1008.9~18.04.15.3.0-1009.10~18.04.15.3.0-1010.11~18.04.15.3.0-1012.13~18.04.15.3.0-1014.15~18.04.1 |
5.3.0-1016.17~18.04.1 |
linux-gke-5.3Ubuntu:18.04:LTS |
before 5.3.0-1016.17~18.04.1, plus listed versions 5.3.0-1011.12~18.04.15.3.0-1012.13~18.04.15.3.0-1014.15~18.04.1 |
5.3.0-1016.17~18.04.1 |
linux-hweUbuntu:18.04:LTS |
before 5.3.0-45.37~18.04.1, plus listed versions 4.18.0-13.14~18.04.14.18.0-14.15~18.04.14.18.0-15.16~18.04.14.18.0-16.17~18.04.14.18.0-17.18~18.04.1 Show 19 moreShow less4.18.0-18.19~18.04.14.18.0-20.21~18.04.14.18.0-21.22~18.04.14.18.0-22.23~18.04.14.18.0-24.25~18.04.14.18.0-25.26~18.04.15.0.0-23.24~18.04.15.0.0-25.26~18.04.15.0.0-27.28~18.04.15.0.0-29.31~18.04.15.0.0-31.33~18.04.15.0.0-32.34~18.04.25.0.0-35.38~18.04.15.0.0-36.39~18.04.15.0.0-37.40~18.04.15.3.0-26.28~18.04.15.3.0-28.30~18.04.15.3.0-40.32~18.04.15.3.0-42.34~18.04.1 |
5.3.0-45.37~18.04.1 |
linux-oracle-5.3Ubuntu:18.04:LTS |
before 5.3.0-1013.14~18.04.1, plus listed versions 5.3.0-1011.12~18.04.1 |
5.3.0-1013.14~18.04.1 |
linux-raspi2-5.3Ubuntu:18.04:LTS |
before 5.3.0-1021.23~18.04.1, plus listed versions 5.3.0-1017.19~18.04.15.3.0-1018.20~18.04.15.3.0-1019.21~18.04.1 |
5.3.0-1021.23~18.04.1 |
linux-azure-edgeUbuntu:18.04:LTS |
All versions, plus listed versions 4.18.0-1006.6~18.04.14.18.0-1007.7~18.04.14.18.0-1008.8~18.04.15.0.0-1012.12~18.04.2 |
None known |
linux-gcp-edgeUbuntu:18.04:LTS |
All versions, plus listed versions 4.18.0-1004.5~18.04.14.18.0-1005.6~18.04.14.18.0-1006.7~18.04.14.18.0-1007.8~18.04.14.18.0-1008.9~18.04.1 Show 7 moreShow less4.18.0-1009.10~18.04.14.18.0-1011.12~18.04.14.18.0-1012.13~18.04.14.18.0-1013.14~18.04.14.18.0-1015.16~18.04.15.0.0-1011.11~18.04.15.0.0-1013.13~18.04.1 |
None known |
linux-hwe-edgeUbuntu:18.04:LTS |
All versions, plus listed versions 5.0.0-15.16~18.04.15.0.0-16.17~18.04.15.0.0-17.18~18.04.15.0.0-19.20~18.04.15.0.0-20.21~18.04.1 Show 5 moreShow less5.3.0-19.20~18.04.25.3.0-22.24~18.04.15.3.0-23.25~18.04.15.3.0-23.25~18.04.25.3.0-24.26~18.04.2 |
None known |
linux-raspi2Ubuntu:20.04:LTS |
All versions, plus listed versions 5.3.0-1007.85.3.0-1014.165.3.0-1015.175.3.0-1017.195.4.0-1004.45.4.0-1006.6 |
None known |
Public exploits
Links only. Every CVE stores no exploit code.
| Source | Link | Date |
|---|---|---|
| PoC in GitHub | Prabhashaka/Exploitation-CVE-2020-8835 | 2020-05-12 |
| PoC in GitHub | snappyJack/Rick_write_exp_CVE-2020-8835 | 2020-07-04 |
| PoC in GitHub | zilong3033/CVE-2020-8835 | 2020-09-30 |
| PoC in GitHub | SplendidSky/CVE-2020-8835 | 2020-10-18 |
| Metasploit | Linux eBPF ALU32 32-bit Invalid Bounds Tracking LPE | 2021-05-11 |
| PoC in GitHub | digamma-ai/CVE-2020-8835-verification | 2021-06-04 |
| PoC in GitHub | johnatag/INF8602-CVE-2020-8835 | 2023-03-20 |
| PoC in GitHub | WhatsWrongAndWhy/CVE-2020-8835 | 2026-07-21 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, exploits, facts | ||
| aliases | EUVD | |
| first indexed | CVE List, GitHub Advisories, Metasploit, NVD, OSV, PoC in GitHub |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2020-8835 is a high vulnerability (CVSS 7.8) in Linux Kernel, published March 30, 2020. Public exploit code exists. EPSS puts the chance of exploitation in the next 30 days at 6.01%, the 93rd percentile. Fixed in linux 5.5.13-2.
References
usn.ubuntu.com/4313-1
thezdi.com/blog/2020/3/19/pwn2own-2020-day-one-results
lore.kernel.org/bpf/20200330160324.15259-1-daniel%40iogearbox.net/T
openwall.com/lists/oss-security/2020/03/30/3
usn.ubuntu.com/usn/usn-4313-1
git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git/commit?id=f2d67fec0b43edce8c416101cdc52e71145b5fef
Show 38 moreShow less
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=f2d67fec0b43edce8c416101cdc52e71145b5fef
lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/F7OONYGMSYBEFHLHZJK3GOI5Z553G4LD
lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/YXBWSHZ6DJIZVXKXGZPK6QPFCY7VKZEG
lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/TF4PQZBEPNXDSK5DOBMW54OCLP25FTCD
security.netapp.com/advisory/ntap-20200430-0004
openwall.com/lists/oss-security/2021/07/20/1
nvd.nist.gov/vuln/detail/CVE-2020-8835
lists.fedoraproject.org/archives/list/[email protected]/message/F7OONYGMSYBEFHLHZJK3GOI5Z553G4LD
lists.fedoraproject.org/archives/list/[email protected]/message/TF4PQZBEPNXDSK5DOBMW54OCLP25FTCD
lists.fedoraproject.org/archives/list/[email protected]/message/YXBWSHZ6DJIZVXKXGZPK6QPFCY7VKZEG
lore.kernel.org/bpf/[email protected]/T
github.com/advisories/GHSA-774r-wvx9-mm68
docs.bell-sw.com/security/cves/CVE-2020-8835
security-tracker.debian.org/tracker/CVE-2020-8835
advisories.mageia.org/MGASA-2020-0156.html
bugs.mageia.org/show_bug.cgi?id=26420
cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.5.10
cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.5.11
cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.5.12
cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.5.13
cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.5.14
advisories.mageia.org/MGASA-2020-0158.html
bugs.mageia.org/show_bug.cgi?id=26426
kernelnewbies.org/Linux_5.5
cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.5.1
cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.5.2
cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.5.3
cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.5.4
cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.5.5
cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.5.6
cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.5.7
cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.5.8
cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.5.9
cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.5.15
ubuntu.com/security/CVE-2020-8835
ubuntu.com/security/notices/USN-4313-1
zerodayinitiative.com/advisories/ZDI-20-350
cve.org/CVERecord?id=CVE-2020-8835