CVE-2025-71422 json
Contrast before 1.12.1 Insecure LUKS2 Persistent Storage
published 2025-10-28 12 mo ago modified 2026-10-14 25 d ago also GHSA-f5p4-p5q5-jv3h , GO-2025-4078 , EUVD-2025-211010
- cvss
- 5.7
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.1%
- EPSS 0.1% chance of exploitation in 30 days, percentile 0%
- public exploits
- 0
- none known
Summary
Contrast is a Kubernetes runtime for confidential containers. In versions before 1.12.1, the secure persistent volume feature is vulnerable to a malicious host supplying a crafted LUKS2 volume to a pod VM. LUKS2 volume metadata is not authenticated and, with cryptsetup versions prior to 2.8.1, a header specifying the null keyslot encryption algorithm (cipher_null-ecb) is accepted without error. Because the Contrast Initializer assumes a device is protected if `cryptsetup open` succeeds with the secret seed, the guest will open the attacker-supplied volume and write secret data in plaintext, or under a volume key known to the attacker, allowing the host to read confidential data that should have been encrypted. Contrast v1.12.1 ships cryptsetup 2.8.1, which disables null ciphers in keyslots when the passphrase is non-empty; v1.13.0 adds detached-header validation in guest memory and integrity protection for secure persistent storage. Contrast persistent volumes were not integrity protected, so integrity impact is not considered.
Patch / fix
- go github.com/edgelesssys/contrast 1.12.1
- edgelesssys contrast 1.12.1
- github.com/edgelesssys/contrast@2252a23 commit
- github.com/edgelesssys/contrast#1731 pull request
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 39 d ago
Exploit prediction
0.07% chance of exploitation in the next 30 days, higher than 0% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 6.9 | CVSS:4.0/AV:A/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N |
| CNA | 3.1 | 5.7 | CVSS:3.1/AV:A/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N |
| CNA | 4.0 | 6.9 | CVSS:4.0/AV:A/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
| GitHub | 3.1 | 5.7 | CVSS:3.1/AV:A/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| go | github.com/edgelesssys/contrast | <1.12.1 |
1.12.1 |
Affected products
- edgelesssys contrast
Classification
References
-
github.com
/edgelesssys/contrast/pull/1731
web, patch
-
github.com
/edgelesssys/contrast/commit/2252a231d570c2dce10a33660452b0bfc3c43958
web, patch
-
github.com
/edgelesssys/contrast/security/advisories/GHSA-f5p4-p5q5-jv3h
vendor-advisory, web, advisory
-
vulncheck.com
/advisories/contrast-before-1.12.1-insecure-luks2-persistent-storage
third-party-advisory
-
github.com
/edgelesssys/contrast
package
-
pkg.go.dev
/vuln/GO-2025-4078
web
Sources
- CVE List CVE-2025-71422
- GitHub Advisory GHSA-f5p4-p5q5-jv3h
- NVD CVE-2025-71422
- OSV GO-2025-4078
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.