ALPINE-CVE-2020-14382
Record from OSV · Published September 16, 2020
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.
Fixed versions
Upgrade to a fixed version or later. Language registries are listed first, then Linux distributions, then vendor products.
| Package | Ecosystem | Fixed in |
|---|---|---|
| cryptsetup | Alpine:v3.21 | 2.3.4-r0 |
| cryptsetup | Alpine:v3.15 | 2.3.4-r0 |
| cryptsetup | Alpine:v3.19 | 2.3.4-r0 |
| cryptsetup | Alpine:v3.14 | 2.3.4-r0 |
| cryptsetup | Alpine:v3.22 | 2.3.4-r0 |
| cryptsetup | Alpine:v3.17 | 2.3.4-r0 |
| cryptsetup | Alpine:v3.20 | 2.3.4-r0 |
| cryptsetup | Alpine:v3.24 | 2.3.4-r0 |
| cryptsetup | Alpine:v3.13 | 2.3.4-r0 |
| cryptsetup | Alpine:v3.23 | 2.3.4-r0 |
| cryptsetup | Alpine:v3.18 | 2.3.4-r0 |
| cryptsetup | Alpine:v3.12 | 2.3.2-r1 |
2 more packages have a fixed version. See every fix in Lookup.
Risk scores
Affected products
| Vendor | Product | Versions |
|---|---|---|
| Alpine:v3.21 | cryptsetup | 1.0.7-r1, 0, 1.0.7-r0 |
| Alpine:v3.15 | cryptsetup | 1.0.7-r0, 1.0.7-r1, 1.1.0-r0 |
| Alpine:v3.19 | cryptsetup | 1.6.8-r0, 1.0.7-r0, 1.0.7-r1 |
| Alpine:v3.14 | cryptsetup | 0, 2.3.1-r0, 1.7.0-r0 |
| Alpine:v3.22 | cryptsetup | 1.6.6-r1, 2.3.1-r1, 1.1.3-r0 |
| Alpine:v3.17 | cryptsetup | 1.6.4-r0, 1.0.7-r0, 0 |
| Alpine:v3.20 | cryptsetup | 2.0.6-r0, 0, 1.0.7-r0 |
| Alpine:v3.24 | cryptsetup | 0 |
| Alpine:v3.13 | cryptsetup | 1.2.0-r0, 1.7.2-r0, 2.0.2-r0 |
| Alpine:v3.23 | cryptsetup | 1.0.7-r0, 1.3.1-r0, 1.3.1-r1 |
| Alpine:v3.18 | cryptsetup | 2.2.2-r0, 1.6.5-r0, 1.7.4-r1 |
| Alpine:v3.12 | cryptsetup | 1.2.0-r0, 1.3.0-r0, 1.3.1-r0 |
| Alpine:v3.11 | cryptsetup | 2.0.4-r0, 2.2.0-r0, 2.2.2-r0 |
| Alpine:v3.16 | cryptsetup | 0, 1.0.7-r0, 1.0.7-r1 |
Timeline
- Sep 16, 2020 CVE Published
- Aug 5, 2026 CVE Updated
- Aug 8, 2026 Distribution Patch
Query this with the API
The same record, from the CLI:
vulnetix vdb vuln ALPINE-CVE-2020-14382
vulnetix vdb fixes ALPINE-CVE-2020-14382
Or with curl, using the org id and key from your account page:
curl -s -H "Authorization: ApiKey ${VULNETIX_ORG_ID}:${VULNETIX_API_KEY}" \
"https://api.vdb.vulnetix.com/v2/vuln/ALPINE-CVE-2020-14382/fixes/registry"
The Community plan is free and allows 50 queries a day. Get a free API key · API quickstart