Skip to content
OpenAdvisories
Unscored CVE-2020-14382 EUVD-2020-6522GHSA-v8mw-xqhr-2vqp

A vulnerability was found in upstream release cryptsetup-2.2.0 where, there's a bug in LUKS2 format validation code, that is effectively in…

Published Sep 16, 2020 · Updated Aug 4, 2024 · Assigned by redhat

Description

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.

Affected products

VendorProductAffectedFixed
— cryptsetup cryptsetup-2.2.0 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 cryptsetup 2:2.3.4-1 —
Debian 13 cryptsetup 2:2.3.4-1 —
Debian 12 cryptsetup 2:2.3.4-1 —
ReleasePackageFixed inAdvisory
Ubuntu 20.04 LTS cryptsetup 2:2.2.2-3ubuntu2.2 USN-4493-1
ReleasePackageFixed inAdvisory
RHEL 8 cryptsetup +5 2.3.3-2.el8 RHSA-2020:4542
Show 2 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
RHEL 8.2 EUS cryptsetup +5 2.2.2-1.el8_2.1 RHSA-2021:0258
RHEL 8.1 EUS cryptsetup +5 2.2.0-2.el8_1.1 RHSA-2020:4900
ReleasePackageFixed inAdvisory
openSUSE Tumbleweed cryptsetup 2.4.1-1.1 openSUSE-SU-2024:10704-1
ReleasePackageFixed inAdvisory
Alpine v3.24 cryptsetup 2.3.4-r0 —
Alpine v3.23 cryptsetup 2.3.4-r0 —
Alpine v3.22 cryptsetup 2.3.4-r0 —
Alpine v3.21 cryptsetup 2.3.4-r0 —
Alpine v3.20 cryptsetup 2.3.4-r0 —
Show 9 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Alpine v3.19 cryptsetup 2.3.4-r0 —
Alpine v3.18 cryptsetup 2.3.4-r0 —
Alpine v3.17 cryptsetup 2.3.4-r0 —
Alpine v3.16 cryptsetup 2.3.4-r0 —
Alpine v3.15 cryptsetup 2.3.4-r0 —
Alpine v3.14 cryptsetup 2.3.4-r0 —
Alpine v3.13 cryptsetup 2.3.4-r0 —
Alpine v3.12 cryptsetup 2.3.2-r1 —
Alpine v3.11 cryptsetup 2.2.2-r1 —

Oracle Linux

ReleasePackageFixed inAdvisory
Oracle Linux 8 cryptsetup +5 2.3.3-2.el8 ELSA-2020-4542

Advisories 7

References