CVE-2020-8835
Linux kernel bpf verifier vulnerability
- Published
- Updated
- Reserved
- Assigned by
- canonical
Description
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)
Scores
| Scored by | CVSS | Score | Vector |
|---|---|---|---|
| canonicalCNA (assigner) | 3.1 | High7.8 | CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H |
| NVDNVD · Modified | 3.1 | High7.8 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
- EPSS (exploitation in 30 days)
- 6.0% · top 6.6% of all CVEs (7 Nov 2026)
The list uses the assigner's score when there is one, then CISA's, then NVD's: High 7.8.
Weakness
Affected products
- affected 5.6-stable – < 5.6.1
- affected 5.5-stable – < 5.5.14
- affected 5.4.7 – < 5.4-stable*
What to do
Solution: Revert commit 581738a681b6 ("bpf: Provide better register bounds after jmp32 instructions").
Workaround: Mitigation for this vulnerability is available by setting the kernel.unprivileged_bpf_disabled sysctl to 1: $ sudo sysctl kernel.unprivileged_bpf_disabled=1 $ echo kernel.unprivileged_bpf_disabled=1 | sudo tee /etc/sysctl.d/90-CVE-2020-8835.conf This issue is also mitigated on systems that use secure boot with the kernel lockdown feature which blocks BPF program loading.
References (12)
- USN-4313-1 (opens in a new tab)vendor-advisoryx_refsource_UBUNTUx_transferred
- https://www.thezdi.com/blog/2020/3/19/pwn2own-2020-day-one-results (opens in a new tab)x_refsource_MISCx_transferred
- https://lore.kernel.org/bpf/20200330160324.15259-1-daniel%40iogearbox.net/T/ (opens in a new tab)x_refsource_MISCx_transferred
- https://www.openwall.com/lists/oss-security/2020/03/30/3 (opens in a new tab)x_refsource_MISCx_transferred
- https://usn.ubuntu.com/usn/usn-4313-1 (opens in a new tab)x_refsource_MISCx_transferred
- https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git/commit/?id=f2d67fec0b43edce8c416101cdc52e71145b5fef (opens in a new tab)x_refsource_MISCx_transferred
- https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=f2d67fec0b43edce8c416101cdc52e71145b5fef (opens in a new tab)x_refsource_MISCx_transferred
- FEDORA-2020-4ef0bcc89c (opens in a new tab)vendor-advisoryx_refsource_FEDORAx_transferred
- FEDORA-2020-666f3b1ac3 (opens in a new tab)vendor-advisoryx_refsource_FEDORAx_transferred
- FEDORA-2020-73c00eda1c (opens in a new tab)vendor-advisoryx_refsource_FEDORAx_transferred
- https://security.netapp.com/advisory/ntap-20200430-0004/ (opens in a new tab)x_refsource_CONFIRMx_transferred
- [oss-security] 20210720 CVE-2021-33909: size_t-to-int vulnerability in Linux's filesystem layer (opens in a new tab)mailing-listx_refsource_MLISTx_transferred
Sources
The same CVE in the primary databases and aggregators, to check against.
- CVE.org record (opens in a new tab)
- CVE List JSON (GitHub) (opens in a new tab)
- NVD (opens in a new tab)
- FIRST EPSS (opens in a new tab)
- OSV.dev (opens in a new tab)
- GitHub Advisories (opens in a new tab)
- CIRCL Vulnerability-Lookup (opens in a new tab)
Badge for a README or a ticket
[](https://trackcve.app/cve/CVE-2020-8835)Record last updated .