Description
dstack is a software development kit (SDK) to simplify the deployment of arbitrary containerized apps into trusted execution environments. In versions of dstack prior to 0.5.4, a malicious host may provide a crafted LUKS2 data volume to a dstack CVM for use as the `/data` mount. The guest will open the volume and write secret data using a volume key known to the attacker, causing disclosure of Wireguard keys and other secret information. The attacker can also pre-load data on the device, which could potentially compromise guest execution. LUKS2 volume metadata is not authenticated and supports null key-encryption algorithms, allowing an attacker to create a volume such that the volume opens (cryptsetup open) without error using any passphrase or token, records all writes in plaintext (or ciphertext with an attacker-known key), and/or contains arbitrary data chosen by the attacker. Version 0.5.4 of dstack contains a patch that addresses LUKS headers.
Problem types
CWE-552: Files or Directories Accessible to External Parties
Product status
References
github.com/...dstack/security/advisories/GHSA-jxq2-hpw3-m5wf
github.com/...ommit/e36ad5f732d8821876a861934e1f47cda7b1a130
github.com/...c410f5d7ac7aed/dstack-util/src/system_setup.rs
gitlab.com/cryptsetup/cryptsetup/-/merge_requests/837