Headline
CVE-2023-43637: Vault Key Partially Predetermined - Automotive Security Research Group
Due to the implementation of "deriveVaultKey", prior to version 7.10, the generated vault key would always have the last 16 bytes predetermined to be "arfoobarfoobarfo".
This issue happens because “deriveVaultKey” calls “retrieveCloudKey” (which will always return “foobarfoobarfoobarfoobarfoobarfo” as the key), and then merges the 32byte randomly generated key with this key (by takeing 16bytes from each, see “mergeKeys”).
This makes the key a lot weaker.
This issue does not persist in devices that were initialized on/after version 7.10, but devices that were initialized before that and updated to a newer version still have this issue.
Roll an update that enforces the full 32bytes key usage.
CVE ID
CVE-2023-43637
Description
Due to the implementation of “deriveVaultKey”, prior to version 7.10, the generated vault key would always have the last 16 bytes predetermined to be “arfoobarfoobarfo”. This issue happens because “deriveVaultKey” calls “retrieveCloudKey” (which will always return “foobarfoobarfoobarfoobarfoobarfo” as the key), and then merges the 32byte randomly generated key with this key (by takeing 16bytes from each, see “mergeKeys”). This makes the key a lot weaker. This issue does not persist in devices that were initialized on/after version 7.10, but devices that were initialized before that and updated to a newer version still have this issue. Roll an update that enforces the full 32bytes key usage.
Refereneces
Problem Type
CWE-321 Use of Hard-coded Cryptographic Key
CAPEC ID
CAPEC-115 Authentication Bypass
Affected Products
CVSS3.1 Score
7.8 – CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H
Related news
Due to the implementation of "deriveVaultKey", prior to version 7.10, the generated vault key would always have the last 16 bytes predetermined to be "arfoobarfoobarfo". This issue happens because "deriveVaultKey" calls "retrieveCloudKey" (which will always return "foobarfoobarfoobarfoobarfoobarfo" as the key), and then merges the 32byte randomly generated key with this key (by takeing 16bytes from each, see "mergeKeys"). This makes the key a lot weaker. This issue does not persist in devices that were initialized on/after version 7.10, but devices that were initialized before that and updated to a newer version still have this issue. Roll an update that enforces the full 32bytes key usage.