CVE-2020-14382

High

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.

SeverityHigh
CVSS7.8
Exploit probability—
ProductCryptsetup
PublishedSep 16, 2020
First seenSep 16, 2020

How to fix

Affected products

ProductAffected versionsFixed in
cryptsetup_project cryptsetup2.2.0—
redhat enterprise_linux8.0—
canonical ubuntu_linux20.04—
fedoraproject fedora31, 33—

Check your version

Choose the product and enter the version you run to see whether it falls in the affected range.

In the Intelligence 360 plan

Attack Surface Management

See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.