CVE-2020-6096
An exploitable signed comparison vulnerability exists in the ARMv7 memcpy() implementation of GNU...
An exploitable signed comparison vulnerability exists in the ARMv7 memcpy() implementation of GNU glibc 2.30.9000. Calling memcpy() (on ARMv7 targets that utilize the GNU glibc implementation) with a negative value for the 'num' parameter results in a signed comparison vulnerability. If an attacker underflows the 'num' parameter to memcpy(), this vulnerability could lead to undefined behavior such as writing to out-of-bounds memory and potentially remote code execution. Furthermore, this memcpy() implementation allows for program execution to continue in scenarios where a segmentation fault or crash should have occurred. The dangers occur in that subsequent execution and iterations of this code will be executed with this corrupted data.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- High
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- High
- Availability
- High
Exploit likelihood
What each source reports
CVE List Score used
8.1
An exploitable signed comparison vulnerability exists in the ARMv7 memcpy() implementation of GNU glibc 2.30.9000. Calling memcpy() (on ARMv7 targets that utilize the GNU glibc implementation) with a negative value for the 'num' parameter results in a signed comparison vulnerability. If an attacker underflows the 'num' parameter to memcpy(), this vulnerability could lead to undefined behavior such as writing to out-of-bounds memory and potentially remote code execution. Furthermore, this memcpy() implementation allows for program execution to continue in scenarios where a segmentation fault or crash should have occurred. The dangers occur in that subsequent execution and iterations of this code will be executed with this corrupted data.
- Record
CVE-2020-6096- CVSS 3.0
- 8.1 High
CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-195
- Updated
- 2026-11-02
EUVDEUVD-2020-27250
8.1
An exploitable signed comparison vulnerability exists in the ARMv7 memcpy() implementation of GNU glibc 2.30.9000. Calling memcpy() (on ARMv7 targets that utilize the GNU glibc implementation) with a negative value for the 'num' parameter results in a signed comparison vulnerability. If an attacker underflows the 'num' parameter to memcpy(), this vulnerability could lead to undefined behavior such as writing to out-of-bounds memory and potentially remote code execution. Furthermore, this memcpy() implementation allows for program execution to continue in scenarios where a segmentation fault or crash should have occurred. The dangers occur in that subsequent execution and iterations of this code will be executed with this corrupted data.
- Record
EUVD-2020-27250- CVSS 3.0
- 8.1 High
CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-xmhr-mv9m-hhvf
8.1
An exploitable signed comparison vulnerability exists in the ARMv7 memcpy() implementation of GNU...
An exploitable signed comparison vulnerability exists in the ARMv7 memcpy() implementation of GNU glibc 2.30.9000. Calling memcpy() (on ARMv7 targets that utilize the GNU glibc implementation) with a negative value for the 'num' parameter results in a signed comparison vulnerability. If an attacker underflows the 'num' parameter to memcpy(), this vulnerability could lead to undefined behavior such as writing to out-of-bounds memory and potentially remote code execution. Furthermore, this memcpy() implementation allows for program execution to continue in scenarios where a segmentation fault or crash should have occurred. The dangers occur in that subsequent execution and iterations of this code will be executed with this corrupted data.
- Record
GHSA-xmhr-mv9m-hhvf- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-191, CWE-195
- Updated
- 2026-11-02
NVD
8.1
An exploitable signed comparison vulnerability exists in the ARMv7 memcpy() implementation of GNU glibc 2.30.9000. Calling memcpy() (on ARMv7 targets that utilize the GNU glibc implementation) with a negative value for the 'num' parameter results in a signed comparison vulnerability. If an attacker underflows the 'num' parameter to memcpy(), this vulnerability could lead to undefined behavior such as writing to out-of-bounds memory and potentially remote code execution. Furthermore, this memcpy() implementation allows for program execution to continue in scenarios where a segmentation fault or crash should have occurred. The dangers occur in that subsequent execution and iterations of this code will be executed with this corrupted data.
- Record
CVE-2020-6096- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H - CVSS 3.0
- 8.1 High
CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H - CVSS 2.0
- 6.8 Medium
AV:N/AC:M/Au:N/C:P/I:P/A:P - Weakness
- CWE-195, CWE-191, CWE-681
- Updated
- 2026-11-02
OSVBELL-CVE-2020-6096
8.1
CVE-2020-6096 does not affect BellSoft software
- Record
BELL-CVE-2020-6096- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSV
8.1
An exploitable signed comparison vulnerability exists in the ARMv7 memcpy() implementation of GNU glibc 2.30.9000. Calling memcpy() (on ARMv7 targets that utilize the GNU glibc implementation) with a negative value for the 'num' parameter results in a signed comparison vulnerability. If an attacker underflows the 'num' parameter to memcpy(), this vulnerability could lead to undefined behavior such as writing to out-of-bounds memory and potentially remote code execution. Furthermore, this memcpy() implementation allows for program execution to continue in scenarios where a segmentation fault or crash should have occurred. The dangers occur in that subsequent execution and iterations of this code will be executed with this corrupted data.
- Record
CVE-2020-6096- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
Show 6 moreShow less
OSVDEBIAN-CVE-2020-6096
8.1
An exploitable signed comparison vulnerability exists in the ARMv7 memcpy() implementation of GNU glibc 2.30.9000. Calling memcpy() (on ARMv7 targets that utilize the GNU glibc implementation) with a negative value for the 'num' parameter results in a signed comparison vulnerability. If an attacker underflows the 'num' parameter to memcpy(), this vulnerability could lead to undefined behavior such as writing to out-of-bounds memory and potentially remote code execution. Furthermore, this memcpy() implementation allows for program execution to continue in scenarios where a segmentation fault or crash should have occurred. The dangers occur in that subsequent execution and iterations of this code will be executed with this corrupted data.
- Record
DEBIAN-CVE-2020-6096- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVUBUNTU-CVE-2020-6096
8.1
An exploitable signed comparison vulnerability exists in the ARMv7 memcpy() implementation of GNU glibc 2.30.9000. Calling memcpy() (on ARMv7 targets that utilize the GNU glibc implementation) with a negative value for the 'num' parameter results in a signed comparison vulnerability. If an attacker underflows the 'num' parameter to memcpy(), this vulnerability could lead to undefined behavior such as writing to out-of-bounds memory and potentially remote code execution. Furthermore, this memcpy() implementation allows for program execution to continue in scenarios where a segmentation fault or crash should have occurred. The dangers occur in that subsequent execution and iterations of this code will be executed with this corrupted data.
- Record
UBUNTU-CVE-2020-6096- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H - CVSS 3.0
- 8.1 High
CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVMGASA-2021-0053 No score
Updated glibc packages fix security vulnerability
Security fixes:
- fix buffer overrun in EUC-KR conversion module [bz #2497] (CVE-2019-25013)
- arm: CVE-2020-6096: Fix multiarch memcpy for negative length [BZ #25620]
- arm: CVE-2020-6096: fix memcpy and memmove for negative length [BZ #25620]
- iconv: Fix incorrect UCS4 inner loop bounds [BZ #26923] (CVE-2020-29562) other upstream fixes:
- libio: Disable vtable validation for pre-2.1 interposed handles [BZ #25203]
- string.h: Define __CORRECT_ISO_CPP_STRING_H_PROTO for Clang [BZ #25232]
- misc/test-errno-linux: Handle EINVAL from quotactl
- nss_compat: internal_end*ent may clobber errno, hiding ERANGE [BZ #25976]
- Fix avx2 strncmp offset compare condition check [BZ #25933]
- AArch64: Align ENTRY to a cacheline
- AArch64: Add optimized Q-register memcpy
- AArch64: Improve backwards memmove performance
- AArch64: Rename IS_ARES to IS_NEOVERSE_N1
- AArch64: Increase small and medium cases for __memcpy_generic
- AArch64: Improve integer memcpy
- AArch64: Use __memcpy_simd on Neoverse N2/V1
- AArch64: Fix DT_AARCH64_VARIANT_PCS handling [BZ #26798]
- AArch64: fix stack missing after sp is updated
- x86-64: Avoid rep movsb with short distance [BZ #27130]
- x86: Assume --enable-cet if GCC defaults to CET [BZ #25225]
- x86: Check IFUNC definition in unrelocated executable [BZ #20019]
- x86: Set header.feature_1 in TCB for always-on CET [BZ #27177]
- Fix parsing of /sys/devices/system/cpu/online [BZ #25859]
- Use O_CLOEXEC in sysconf [BZ #26791]
- Record
MGASA-2021-0053- Updated
- 2026-11-02
OSVopenSUSE-SU-2024:10792-1 No score
glibc-2.34-1.2 on GA media
These are all security issues fixed in the glibc-2.34-1.2 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2024:10792-1- Updated
- 2026-11-02
OSVUSN-4954-1 No score
glibc vulnerabilities
Jason Royes and Samuel Dytrych discovered that the memcpy() implementation for 32 bit ARM processors in the GNU C Library contained an integer underflow vulnerability. An attacker could possibly use this to cause a denial of service (application crash) or execute arbitrary code. (CVE-2020-6096)
It was discovered that the POSIX regex implementation in the GNU C Library did not properly parse alternatives. An attacker could use this to cause a denial of service. (CVE-2009-5155)
- Record
USN-4954-1- Updated
- 2026-11-02
OSVUSN-5310-1 No score
glibc vulnerabilities
Jan Engelhardt, Tavis Ormandy, and others discovered that the GNU C Library iconv feature incorrectly handled certain input sequences. An attacker could possibly use this issue to cause the GNU C Library to hang or crash, resulting in a denial of service. This issue only affected Ubuntu 18.04 LTS and Ubuntu 20.04 LTS. (CVE-2016-10228, CVE-2019-25013, CVE-2020-27618, CVE-2020-29562, CVE-2021-3326)
Jason Royes and Samuel Dytrych discovered that the GNU C Library incorrectly handled signed comparisons on ARMv7 targets. A remote attacker could use this issue to cause the GNU C Library to crash, resulting in a denial of service, or possibly execute arbitrary code. This issue only affected Ubuntu 18.04 LTS and Ubuntu 20.04 LTS. (CVE-2020-6096)
It was discovered that the GNU C Library nscd daemon incorrectly handled certain netgroup lookups. An attacker could possibly use this issue to cause the GNU C Library to crash, resulting in a denial of service. This issue only affected Ubuntu 20.04 LTS. (CVE-2021-27645)
It was discovered that the GNU C Library wordexp function incorrectly handled certain patterns. An attacker could use this issue to cause the GNU C Library to crash, resulting in a denial of service, or possibly obtain sensitive information. This issue only affected Ubuntu 18.04 LTS and Ubuntu 20.04 LTS. (CVE-2021-35942)
It was discovered that the GNU C Library realpath function incorrectly handled return values. An attacker could possibly use this issue to obtain sensitive information. This issue only affected Ubuntu 21.10. (CVE-2021-3998)
It was discovered that the GNU C library getcwd function incorrectly handled buffers. An attacker could use this issue to cause the GNU C Library to crash, resulting in a denial of service, or possibly execute arbitrary code. (CVE-2021-3999)
It was discovered that the GNU C Library sunrpc module incorrectly handled buffer lengths. An attacker could possibly use this issue to cause the GNU C Library to crash, resulting in a denial of service. (CVE-2022-23218, CVE-2022-23219)
- Record
USN-5310-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
glibcDebian:12 |
before 2.31-2 | 2.31-2 |
glibcDebian:13 |
before 2.31-2 | 2.31-2 |
glibcDebian:14 |
before 2.31-2 | 2.31-2 |
glibcDebian:10 From an advisory covering 14 CVEs |
before 2.28-10+deb10u2, plus listed versions 2.28-102.28-10+deb10u1 |
2.28-10+deb10u2 |
glibcMageia:7 From an advisory covering 3 CVEs |
before 2.29-21.mga7 | 2.29-21.mga7 |
eglibcUbuntu:Pro:14.04:LTS |
All versions, plus listed versions 2.17-93ubuntu42.18-0ubuntu12.18-0ubuntu22.18-0ubuntu42.18-0ubuntu5 Show 24 moreShow less2.18-0ubuntu62.18-0ubuntu72.19-0ubuntu22.19-0ubuntu32.19-0ubuntu42.19-0ubuntu52.19-0ubuntu62.19-0ubuntu6.12.19-0ubuntu6.32.19-0ubuntu6.42.19-0ubuntu6.52.19-0ubuntu6.62.19-0ubuntu6.72.19-0ubuntu6.82.19-0ubuntu6.92.19-0ubuntu6.102.19-0ubuntu6.112.19-0ubuntu6.132.19-0ubuntu6.142.19-0ubuntu6.152.19-0ubuntu6.15+esm12.19-0ubuntu6.15+esm22.19-0ubuntu6.15+esm32.19-0ubuntu6.15+esm4 |
None known |
glibcUbuntu:16.04:LTS |
before 2.23-0ubuntu11.3, plus listed versions 2.21-0ubuntu42.21-0ubuntu52.21-0ubuntu62.23-0ubuntu12.23-0ubuntu2 Show 9 moreShow less2.23-0ubuntu32.23-0ubuntu42.23-0ubuntu52.23-0ubuntu62.23-0ubuntu72.23-0ubuntu92.23-0ubuntu102.23-0ubuntu112.23-0ubuntu11.2 |
2.23-0ubuntu11.3 |
glibcUbuntu:18.04:LTS |
before 2.27-3ubuntu1.5, plus listed versions 2.26-0ubuntu22.26-0ubuntu2.12.27-0ubuntu22.27-0ubuntu32.27-3ubuntu12.27-3ubuntu1.22.27-3ubuntu1.32.27-3ubuntu1.4 |
2.27-3ubuntu1.5 |
glibcUbuntu:20.04:LTS |
before 2.31-0ubuntu9.7, plus listed versions 2.30-0ubuntu22.30-0ubuntu32.31-0ubuntu52.31-0ubuntu62.31-0ubuntu7 Show 4 moreShow less2.31-0ubuntu92.31-0ubuntu9.12.31-0ubuntu9.22.31-0ubuntu9.3 |
2.31-0ubuntu9.7 |
glibcUbuntu:16.04:LTS From an advisory covering 2 CVEs |
before 2.23-0ubuntu11.3, plus listed versions 2.21-0ubuntu42.21-0ubuntu52.21-0ubuntu62.23-0ubuntu12.23-0ubuntu2 Show 9 moreShow less2.23-0ubuntu32.23-0ubuntu42.23-0ubuntu52.23-0ubuntu62.23-0ubuntu72.23-0ubuntu92.23-0ubuntu102.23-0ubuntu112.23-0ubuntu11.2 |
2.23-0ubuntu11.3 |
glibcUbuntu:18.04:LTS From an advisory covering 12 CVEs |
before 2.27-3ubuntu1.5, plus listed versions 2.26-0ubuntu22.26-0ubuntu2.12.27-0ubuntu22.27-0ubuntu32.27-3ubuntu12.27-3ubuntu1.22.27-3ubuntu1.32.27-3ubuntu1.4 |
2.27-3ubuntu1.5 |
glibcUbuntu:20.04:LTS From an advisory covering 12 CVEs |
before 2.31-0ubuntu9.7, plus listed versions 2.30-0ubuntu22.30-0ubuntu32.31-0ubuntu52.31-0ubuntu62.31-0ubuntu7 Show 4 moreShow less2.31-0ubuntu92.31-0ubuntu9.12.31-0ubuntu9.22.31-0ubuntu9.3 |
2.31-0ubuntu9.7 |
glibcopenSUSE:Tumbleweed From an advisory covering 34 CVEs |
before 2.34-1.2 | 2.34-1.2 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2020-6096 is a high vulnerability (CVSS 8.1) in Gnu Glibc, published April 1, 2020. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 5.48%, the 92nd percentile. Fixed in glibc 2.31-2.
References
lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/URXOIA2LDUKHQXK4BE55BQBRI6ZZG3Y6
lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/SPYXTDOOB4PQGTYAMZAZNJIB3FF6YQXI
security.gentoo.org/glsa/202101-20
lists.apache.org/thread.html/rf9fa47ab66495c78bb4120b0754dd9531ca2ff0430f6685ac9b07772%40%3Cdev.mina.apache.org%3E
sourceware.org/bugzilla/show_bug.cgi?id=25620
talosintelligence.com/vulnerability_reports/TALOS-2020-1019
Show 62 moreShow less
lists.debian.org/debian-lts-announce/2022/10/msg00021.html
cert-portal.siemens.com/productcert/html/ssa-398330.html
nvd.nist.gov/vuln/detail/CVE-2020-6096
lists.apache.org/thread.html/rf9fa47ab66495c78bb4120b0754dd9531ca2ff0430f6685ac9b07772@%3Cdev.mina.apache.org%3E
lists.fedoraproject.org/archives/list/[email protected]/message/SPYXTDOOB4PQGTYAMZAZNJIB3FF6YQXI
lists.fedoraproject.org/archives/list/[email protected]/message/URXOIA2LDUKHQXK4BE55BQBRI6ZZG3Y6
github.com/advisories/GHSA-xmhr-mv9m-hhvf
docs.bell-sw.com/security/cves/CVE-2020-6096
security-tracker.debian.org/tracker/CVE-2020-6096
advisories.mageia.org/MGASA-2021-0053.html
bugs.mageia.org/show_bug.cgi?id=28161
lists.fedoraproject.org/archives/list/[email protected]/thread/4Y6TX47P47KABSFOL26FLDNVCWXDKDEZ
ubuntu.com/security/CVE-2020-6096
ubuntu.com/security/notices/USN-4954-1
ubuntu.com/security/notices/USN-5310-1
cve.org/CVERecord?id=CVE-2020-6096
ubuntu.com/security/CVE-2009-5155
ubuntu.com/security/CVE-2016-10228
ubuntu.com/security/CVE-2019-25013
ubuntu.com/security/CVE-2020-27618
ubuntu.com/security/CVE-2020-29562
ubuntu.com/security/CVE-2021-3326
ubuntu.com/security/CVE-2021-3998
ubuntu.com/security/CVE-2021-3999
ubuntu.com/security/CVE-2021-27645
ubuntu.com/security/CVE-2021-35942
ubuntu.com/security/CVE-2022-23218
ubuntu.com/security/CVE-2022-23219
suse.com/security/cve/CVE-2009-5064
suse.com/security/cve/CVE-2009-5155
suse.com/security/cve/CVE-2010-3192
suse.com/security/cve/CVE-2015-5180
suse.com/security/cve/CVE-2016-10228
suse.com/security/cve/CVE-2016-10739
suse.com/security/cve/CVE-2016-6261
suse.com/security/cve/CVE-2016-6323
suse.com/security/cve/CVE-2017-1000366
suse.com/security/cve/CVE-2017-1000408
suse.com/security/cve/CVE-2017-12132
suse.com/security/cve/CVE-2017-12133
suse.com/security/cve/CVE-2017-15670
suse.com/security/cve/CVE-2017-16997
suse.com/security/cve/CVE-2017-17426
suse.com/security/cve/CVE-2017-18269
suse.com/security/cve/CVE-2018-1000001
suse.com/security/cve/CVE-2018-11236
suse.com/security/cve/CVE-2018-11237
suse.com/security/cve/CVE-2018-19591
suse.com/security/cve/CVE-2018-6485
suse.com/security/cve/CVE-2019-19126
suse.com/security/cve/CVE-2019-25013
suse.com/security/cve/CVE-2019-7309
suse.com/security/cve/CVE-2019-9169
suse.com/security/cve/CVE-2020-10029
suse.com/security/cve/CVE-2020-1752
suse.com/security/cve/CVE-2020-27618
suse.com/security/cve/CVE-2020-29562
suse.com/security/cve/CVE-2020-29573
suse.com/security/cve/CVE-2020-6096
suse.com/security/cve/CVE-2021-27645
suse.com/security/cve/CVE-2021-3326
suse.com/security/cve/CVE-2021-33574