Every CVE Search/ Get API key

CVE-2020-14382

A vulnerability was found in upstream release cryptsetup-2.2.0 where, there's a bug in LUKS2...

7.8 HighFix available

A vulnerability was found in upstream release cryptsetup-2.2.0 where, there's a bug in LUKS2 format validation code, that is effectively invoked on every device/image presenting itself as LUKS2 container. The bug is in segments validation code in file 'lib/luks2/luks2_json_metadata.c' in function hdr_validate_segments(struct crypt_device *cd, json_object *hdr_jobj) where the code does not check for possible overflow on memory allocation used for intervals array (see statement "intervals = malloc(first_backup * sizeof(*intervals));"). Due to the bug, library can be tricked to expect such allocation was successful but for far less memory then originally expected. Later it may read data FROM image crafted by an attacker and actually write such data BEYOND allocated memory.

Attack profile

How easy it is to exploit

Attack vector
Local
Complexity
Low
Privileges needed
None
User interaction
Required

What an attacker can affect

Confidentiality
High
Integrity
High
Availability
High

Exploit likelihood

1.16%Up 0.1 points since Apr 14, 2021
90%50%10%1%

What each source reports

NVD Score used 7.8

A vulnerability was found in upstream release cryptsetup-2.2.0 where, there's a bug in LUKS2 format validation code, that is effectively invoked on every device/image presenting itself as LUKS2 container. The bug is in segments validation code in file 'lib/luks2/luks2_json_metadata.c' in function hdr_validate_segments(struct crypt_device *cd, json_object *hdr_jobj) where the code does not check for possible overflow on memory allocation used for intervals array (see statement "intervals = malloc(first_backup * sizeof(*intervals));"). Due to the bug, library can be tricked to expect such allocation was successful but for far less memory then originally expected. Later it may read data FROM image crafted by an attacker and actually write such data BEYOND allocated memory.

Record
CVE-2020-14382
CVSS 3.1
7.8 HighCVSS:3.1/AV:L/AC:L/PR:N/UI:R/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-787
Updated
2026-11-02
CVE List No score

A vulnerability was found in upstream release cryptsetup-2.2.0 where, there's a bug in LUKS2 format validation code, that is effectively invoked on every device/image presenting itself as LUKS2 container. The bug is in segments validation code in file 'lib/luks2/luks2_json_metadata.c' in function hdr_validate_segments(struct crypt_device *cd, json_object *hdr_jobj) where the code does not check for possible overflow on memory allocation used for intervals array (see statement "intervals = malloc(first_backup * sizeof(*intervals));"). Due to the bug, library can be tricked to expect such allocation was successful but for far less memory then originally expected. Later it may read data FROM image crafted by an attacker and actually write such data BEYOND allocated memory.

Record
CVE-2020-14382
Updated
2026-11-02
EUVDEUVD-2020-6522 No score

A vulnerability was found in upstream release cryptsetup-2.2.0 where, there's a bug in LUKS2 format validation code, that is effectively invoked on every device/image presenting itself as LUKS2 container. The bug is in segments validation code in file 'lib/luks2/luks2_json_metadata.c' in function hdr_validate_segments(struct crypt_device *cd, json_object *hdr_jobj) where the code does not check for possible overflow on memory allocation used for intervals array (see statement "intervals = malloc(first_backup * sizeof(*intervals));"). Due to the bug, library can be tricked to expect such allocation was successful but for far less memory then originally expected. Later it may read data FROM image crafted by an attacker and actually write such data BEYOND allocated memory.

Record
EUVD-2020-6522
Updated
2026-11-03
GitHub AdvisoriesGHSA-v8mw-xqhr-2vqp No score

A vulnerability was found in upstream release cryptsetup-2.2.0 where, there's a bug in LUKS2...

A vulnerability was found in upstream release cryptsetup-2.2.0 where, there's a bug in LUKS2 format validation code, that is effectively invoked on every device/image presenting itself as LUKS2 container. The bug is in segments validation code in file 'lib/luks2/luks2_json_metadata.c' in function hdr_validate_segments(struct crypt_device *cd, json_object *hdr_jobj) where the code does not check for possible overflow on memory allocation used for intervals array (see statement "intervals = malloc(first_backup * sizeof(*intervals));"). Due to the bug, library can be tricked to expect such allocation was successful but for far less memory then originally expected. Later it may read data FROM image crafted by an attacker and actually write such data BEYOND allocated memory.

Record
GHSA-v8mw-xqhr-2vqp
Weakness
CWE-787
Updated
2026-11-02
OSVALPINE-CVE-2020-14382 7.8

A vulnerability was found in upstream release cryptsetup-2.2.0 where, there's a bug in LUKS2 format validation code, that is effectively invoked on every device/image presenting itself as LUKS2 container. The bug is in segments validation code in file 'lib/luks2/luks2_json_metadata.c' in function hdr_validate_segments(struct crypt_device *cd, json_object *hdr_jobj) where the code does not check for possible overflow on memory allocation used for intervals array (see statement "intervals = malloc(first_backup * sizeof(*intervals));"). Due to the bug, library can be tricked to expect such allocation was successful but for far less memory then originally expected. Later it may read data FROM image crafted by an attacker and actually write such data BEYOND allocated memory.

Record
ALPINE-CVE-2020-14382
CVSS 3.1
7.8 HighCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSVBELL-CVE-2020-14382 7.8

CVE-2020-14382 does not affect BellSoft software

Record
BELL-CVE-2020-14382
CVSS 3.1
7.8 HighCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Updated
2026-11-02
Show 8 moreShow less
OSV 7.8

A vulnerability was found in upstream release cryptsetup-2.2.0 where, there's a bug in LUKS2 format validation code, that is effectively invoked on every device/image presenting itself as LUKS2 container. The bug is in segments validation code in file 'lib/luks2/luks2_json_metadata.c' in function hdr_validate_segments(struct crypt_device *cd, json_object *hdr_jobj) where the code does not check for possible overflow on memory allocation used for intervals array (see statement "intervals = malloc(first_backup * sizeof(*intervals));"). Due to the bug, library can be tricked to expect such allocation was successful but for far less memory then originally expected. Later it may read data FROM image crafted by an attacker and actually write such data BEYOND allocated memory.

Record
CVE-2020-14382
CVSS 3.1
7.8 HighCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSVDEBIAN-CVE-2020-14382 7.8

A vulnerability was found in upstream release cryptsetup-2.2.0 where, there's a bug in LUKS2 format validation code, that is effectively invoked on every device/image presenting itself as LUKS2 container. The bug is in segments validation code in file 'lib/luks2/luks2_json_metadata.c' in function hdr_validate_segments(struct crypt_device *cd, json_object *hdr_jobj) where the code does not check for possible overflow on memory allocation used for intervals array (see statement "intervals = malloc(first_backup * sizeof(*intervals));"). Due to the bug, library can be tricked to expect such allocation was successful but for far less memory then originally expected. Later it may read data FROM image crafted by an attacker and actually write such data BEYOND allocated memory.

Record
DEBIAN-CVE-2020-14382
CVSS 3.1
7.8 HighCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSVRHSA-2020:4542 7.8

Red Hat Security Advisory: cryptsetup security, bug fix, and enhancement update

Record
RHSA-2020:4542
CVSS 3.1
7.8 HighCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSVRHSA-2020:4900 7.8

Red Hat Security Advisory: cryptsetup security update

Record
RHSA-2020:4900
CVSS 3.1
7.8 HighCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSVRHSA-2021:0258 7.8

Red Hat Security Advisory: cryptsetup security update

Record
RHSA-2021:0258
CVSS 3.1
7.8 HighCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSVUBUNTU-CVE-2020-14382 7.8

A vulnerability was found in upstream release cryptsetup-2.2.0 where, there's a bug in LUKS2 format validation code, that is effectively invoked on every device/image presenting itself as LUKS2 container. The bug is in segments validation code in file 'lib/luks2/luks2_json_metadata.c' in function hdr_validate_segments(struct crypt_device *cd, json_object *hdr_jobj) where the code does not check for possible overflow on memory allocation used for intervals array (see statement "intervals = malloc(first_backup * sizeof(*intervals));"). Due to the bug, library can be tricked to expect such allocation was successful but for far less memory then originally expected. Later it may read data FROM image crafted by an attacker and actually write such data BEYOND allocated memory.

Record
UBUNTU-CVE-2020-14382
CVSS 3.1
7.8 HighCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSVopenSUSE-SU-2024:10704-1 No score

cryptsetup-2.4.1-1.1 on GA media

These are all security issues fixed in the cryptsetup-2.4.1-1.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2024:10704-1
Updated
2026-11-02
OSVUSN-4493-1 No score

cryptsetup vulnerability

It was discovered that cryptsetup incorrectly handled certain inputs. An attacker could possibly use this issue to execute arbitrary code.

Record
USN-4493-1
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
cryptsetup
Alpine:v3.11
before 2.2.2-r1
2.2.2-r1
cryptsetup
Alpine:v3.12
before 2.3.2-r1
2.3.2-r1
cryptsetup
Alpine:v3.13
before 2.3.4-r0
2.3.4-r0
cryptsetup
Alpine:v3.14
before 2.3.4-r0
2.3.4-r0
cryptsetup
Alpine:v3.15
before 2.3.4-r0
2.3.4-r0
cryptsetup
Alpine:v3.16
before 2.3.4-r0
2.3.4-r0
cryptsetup
Alpine:v3.17
before 2.3.4-r0
2.3.4-r0
cryptsetup
Alpine:v3.18
before 2.3.4-r0
2.3.4-r0
cryptsetup
Alpine:v3.19
before 2.3.4-r0
2.3.4-r0
cryptsetup
Alpine:v3.20
before 2.3.4-r0
2.3.4-r0
Show 63 moreShow less
Affected packages
PackageAffectedFixed
cryptsetup
Alpine:v3.21
before 2.3.4-r0
2.3.4-r0
cryptsetup
Alpine:v3.22
before 2.3.4-r0
2.3.4-r0
cryptsetup
Alpine:v3.23
before 2.3.4-r0
2.3.4-r0
cryptsetup
Alpine:v3.24
before 2.3.4-r0
2.3.4-r0
cryptsetup
Debian:12
before 2:2.3.4-1
2:2.3.4-1
cryptsetup
Debian:13
before 2:2.3.4-1
2:2.3.4-1
cryptsetup
Debian:14
before 2:2.3.4-1
2:2.3.4-1
cryptsetup-debuginfo
Red Hat:enterprise_linux:8::appstream
before 0:2.3.3-2.el8
0:2.3.3-2.el8
cryptsetup-debugsource
Red Hat:enterprise_linux:8::appstream
before 0:2.3.3-2.el8
0:2.3.3-2.el8
cryptsetup-devel
Red Hat:enterprise_linux:8::appstream
before 0:2.3.3-2.el8
0:2.3.3-2.el8
cryptsetup-libs-debuginfo
Red Hat:enterprise_linux:8::appstream
before 0:2.3.3-2.el8
0:2.3.3-2.el8
cryptsetup-reencrypt-debuginfo
Red Hat:enterprise_linux:8::appstream
before 0:2.3.3-2.el8
0:2.3.3-2.el8
integritysetup-debuginfo
Red Hat:enterprise_linux:8::appstream
before 0:2.3.3-2.el8
0:2.3.3-2.el8
veritysetup-debuginfo
Red Hat:enterprise_linux:8::appstream
before 0:2.3.3-2.el8
0:2.3.3-2.el8
cryptsetup
Red Hat:enterprise_linux:8::baseos
before 0:2.3.3-2.el8
0:2.3.3-2.el8
cryptsetup-debuginfo
Red Hat:enterprise_linux:8::baseos
before 0:2.3.3-2.el8
0:2.3.3-2.el8
cryptsetup-debugsource
Red Hat:enterprise_linux:8::baseos
before 0:2.3.3-2.el8
0:2.3.3-2.el8
cryptsetup-libs
Red Hat:enterprise_linux:8::baseos
before 0:2.3.3-2.el8
0:2.3.3-2.el8
cryptsetup-libs-debuginfo
Red Hat:enterprise_linux:8::baseos
before 0:2.3.3-2.el8
0:2.3.3-2.el8
cryptsetup-reencrypt
Red Hat:enterprise_linux:8::baseos
before 0:2.3.3-2.el8
0:2.3.3-2.el8
cryptsetup-reencrypt-debuginfo
Red Hat:enterprise_linux:8::baseos
before 0:2.3.3-2.el8
0:2.3.3-2.el8
integritysetup
Red Hat:enterprise_linux:8::baseos
before 0:2.3.3-2.el8
0:2.3.3-2.el8
integritysetup-debuginfo
Red Hat:enterprise_linux:8::baseos
before 0:2.3.3-2.el8
0:2.3.3-2.el8
veritysetup
Red Hat:enterprise_linux:8::baseos
before 0:2.3.3-2.el8
0:2.3.3-2.el8
veritysetup-debuginfo
Red Hat:enterprise_linux:8::baseos
before 0:2.3.3-2.el8
0:2.3.3-2.el8
cryptsetup-debuginfo
Red Hat:rhel_eus:8.1::appstream
before 0:2.2.0-2.el8_1.1
0:2.2.0-2.el8_1.1
cryptsetup-debugsource
Red Hat:rhel_eus:8.1::appstream
before 0:2.2.0-2.el8_1.1
0:2.2.0-2.el8_1.1
cryptsetup-devel
Red Hat:rhel_eus:8.1::appstream
before 0:2.2.0-2.el8_1.1
0:2.2.0-2.el8_1.1
cryptsetup-libs-debuginfo
Red Hat:rhel_eus:8.1::appstream
before 0:2.2.0-2.el8_1.1
0:2.2.0-2.el8_1.1
cryptsetup-reencrypt-debuginfo
Red Hat:rhel_eus:8.1::appstream
before 0:2.2.0-2.el8_1.1
0:2.2.0-2.el8_1.1
integritysetup-debuginfo
Red Hat:rhel_eus:8.1::appstream
before 0:2.2.0-2.el8_1.1
0:2.2.0-2.el8_1.1
veritysetup-debuginfo
Red Hat:rhel_eus:8.1::appstream
before 0:2.2.0-2.el8_1.1
0:2.2.0-2.el8_1.1
cryptsetup
Red Hat:rhel_eus:8.1::baseos
before 0:2.2.0-2.el8_1.1
0:2.2.0-2.el8_1.1
cryptsetup-debuginfo
Red Hat:rhel_eus:8.1::baseos
before 0:2.2.0-2.el8_1.1
0:2.2.0-2.el8_1.1
cryptsetup-debugsource
Red Hat:rhel_eus:8.1::baseos
before 0:2.2.0-2.el8_1.1
0:2.2.0-2.el8_1.1
cryptsetup-libs
Red Hat:rhel_eus:8.1::baseos
before 0:2.2.0-2.el8_1.1
0:2.2.0-2.el8_1.1
cryptsetup-libs-debuginfo
Red Hat:rhel_eus:8.1::baseos
before 0:2.2.0-2.el8_1.1
0:2.2.0-2.el8_1.1
cryptsetup-reencrypt
Red Hat:rhel_eus:8.1::baseos
before 0:2.2.0-2.el8_1.1
0:2.2.0-2.el8_1.1
cryptsetup-reencrypt-debuginfo
Red Hat:rhel_eus:8.1::baseos
before 0:2.2.0-2.el8_1.1
0:2.2.0-2.el8_1.1
integritysetup
Red Hat:rhel_eus:8.1::baseos
before 0:2.2.0-2.el8_1.1
0:2.2.0-2.el8_1.1
integritysetup-debuginfo
Red Hat:rhel_eus:8.1::baseos
before 0:2.2.0-2.el8_1.1
0:2.2.0-2.el8_1.1
veritysetup
Red Hat:rhel_eus:8.1::baseos
before 0:2.2.0-2.el8_1.1
0:2.2.0-2.el8_1.1
veritysetup-debuginfo
Red Hat:rhel_eus:8.1::baseos
before 0:2.2.0-2.el8_1.1
0:2.2.0-2.el8_1.1
cryptsetup-debuginfo
Red Hat:rhel_eus:8.2::appstream
before 0:2.2.2-1.el8_2.1
0:2.2.2-1.el8_2.1
cryptsetup-debugsource
Red Hat:rhel_eus:8.2::appstream
before 0:2.2.2-1.el8_2.1
0:2.2.2-1.el8_2.1
cryptsetup-devel
Red Hat:rhel_eus:8.2::appstream
before 0:2.2.2-1.el8_2.1
0:2.2.2-1.el8_2.1
cryptsetup-libs-debuginfo
Red Hat:rhel_eus:8.2::appstream
before 0:2.2.2-1.el8_2.1
0:2.2.2-1.el8_2.1
cryptsetup-reencrypt-debuginfo
Red Hat:rhel_eus:8.2::appstream
before 0:2.2.2-1.el8_2.1
0:2.2.2-1.el8_2.1
integritysetup-debuginfo
Red Hat:rhel_eus:8.2::appstream
before 0:2.2.2-1.el8_2.1
0:2.2.2-1.el8_2.1
veritysetup-debuginfo
Red Hat:rhel_eus:8.2::appstream
before 0:2.2.2-1.el8_2.1
0:2.2.2-1.el8_2.1
cryptsetup
Red Hat:rhel_eus:8.2::baseos
before 0:2.2.2-1.el8_2.1
0:2.2.2-1.el8_2.1
cryptsetup-debuginfo
Red Hat:rhel_eus:8.2::baseos
before 0:2.2.2-1.el8_2.1
0:2.2.2-1.el8_2.1
cryptsetup-debugsource
Red Hat:rhel_eus:8.2::baseos
before 0:2.2.2-1.el8_2.1
0:2.2.2-1.el8_2.1
cryptsetup-libs
Red Hat:rhel_eus:8.2::baseos
before 0:2.2.2-1.el8_2.1
0:2.2.2-1.el8_2.1
cryptsetup-libs-debuginfo
Red Hat:rhel_eus:8.2::baseos
before 0:2.2.2-1.el8_2.1
0:2.2.2-1.el8_2.1
cryptsetup-reencrypt
Red Hat:rhel_eus:8.2::baseos
before 0:2.2.2-1.el8_2.1
0:2.2.2-1.el8_2.1
cryptsetup-reencrypt-debuginfo
Red Hat:rhel_eus:8.2::baseos
before 0:2.2.2-1.el8_2.1
0:2.2.2-1.el8_2.1
integritysetup
Red Hat:rhel_eus:8.2::baseos
before 0:2.2.2-1.el8_2.1
0:2.2.2-1.el8_2.1
integritysetup-debuginfo
Red Hat:rhel_eus:8.2::baseos
before 0:2.2.2-1.el8_2.1
0:2.2.2-1.el8_2.1
veritysetup
Red Hat:rhel_eus:8.2::baseos
before 0:2.2.2-1.el8_2.1
0:2.2.2-1.el8_2.1
veritysetup-debuginfo
Red Hat:rhel_eus:8.2::baseos
before 0:2.2.2-1.el8_2.1
0:2.2.2-1.el8_2.1
cryptsetup
Ubuntu:20.04:LTS
before 2:2.2.2-3ubuntu2.2, plus listed versions
2:2.2.0-3ubuntu12:2.2.1-1ubuntu12:2.2.2-1ubuntu12:2.2.2-2ubuntu12:2.2.2-3ubuntu12:2.2.2-3ubuntu2
2:2.2.2-3ubuntu2.2
cryptsetup
openSUSE:Tumbleweed
before 2.4.1-1.1
2.4.1-1.1

History

History
RecordedChangedSources
aliases, productsEUVD
first indexedCVE List, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2020-14382 is a high vulnerability (CVSS 7.8) in Cryptsetup Project Cryptsetup, published September 3, 2020. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 1.16%, the 67th percentile. Fixed in cryptsetup 2.2.2-r1.

References

Show 23 moreShow less
MoveEnter Open