Every CVE Search/ Get API key

CVE-2020-6096

An exploitable signed comparison vulnerability exists in the ARMv7 memcpy() implementation of GNU...

8.1 HighFix available

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

5.48%Down 7.3 points since Apr 14, 2021
90%50%10%1%

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 HighCVSS: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 HighCVSS: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 HighCVSS: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 HighCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS 3.0
8.1 HighCVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS 2.0
6.8 MediumAV: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 HighCVSS: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 HighCVSS: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 HighCVSS: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 HighCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS 3.0
8.1 HighCVSS: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

Affected packages
PackageAffectedFixed
glibc
Debian:12
before 2.31-2
2.31-2
glibc
Debian:13
before 2.31-2
2.31-2
glibc
Debian:14
before 2.31-2
2.31-2
glibc
Debian: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
glibc
Mageia:7
From an advisory covering 3 CVEs
before 2.29-21.mga7
2.29-21.mga7
eglibc
Ubuntu:Pro:14.04:LTS
All versions, plus listed versions
2.17-93ubuntu42.18-0ubuntu12.18-0ubuntu22.18-0ubuntu42.18-0ubuntu5
Show 24 moreShow less
2.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
glibc
Ubuntu: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 less
2.23-0ubuntu32.23-0ubuntu42.23-0ubuntu52.23-0ubuntu62.23-0ubuntu72.23-0ubuntu92.23-0ubuntu102.23-0ubuntu112.23-0ubuntu11.2
2.23-0ubuntu11.3
glibc
Ubuntu: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
glibc
Ubuntu: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 less
2.31-0ubuntu92.31-0ubuntu9.12.31-0ubuntu9.22.31-0ubuntu9.3
2.31-0ubuntu9.7
glibc
Ubuntu: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 less
2.23-0ubuntu32.23-0ubuntu42.23-0ubuntu52.23-0ubuntu62.23-0ubuntu72.23-0ubuntu92.23-0ubuntu102.23-0ubuntu112.23-0ubuntu11.2
2.23-0ubuntu11.3
glibc
Ubuntu: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
glibc
Ubuntu: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 less
2.31-0ubuntu92.31-0ubuntu9.12.31-0ubuntu9.22.31-0ubuntu9.3
2.31-0ubuntu9.7
glibc
openSUSE:Tumbleweed
From an advisory covering 34 CVEs
before 2.34-1.2
2.34-1.2

History

History
RecordedChangedSources
affected, facts
first indexedCVE 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

Show 62 moreShow less
MoveEnter Open