// For flags

CVE-2023-43635

Vault Key Sealed With SHA1 PCRs

Severity Score

8.8
*CVSS v3.1

Exploit Likelihood

*EPSS

Affected Versions

*CPE

Public Exploits

0
*Multiple Sources

Exploited in Wild

-
*KEV

Decision

Track*
*SSVC
Descriptions

Vault Key Sealed With SHA1 PCRs






The measured boot solution implemented in EVE OS leans on a PCR locking mechanism.

Different parts of the system update different PCR values in the TPM, resulting in a unique
value for each PCR entry.

These PCRs are then used in order to seal/unseal a key from the TPM which is used to
encrypt/decrypt the “vault” directory.

This “vault” directory is the most sensitive point in the system and as such, its content should
be protected.

This mechanism is noted in Zededa’s documentation as the “measured boot” mechanism,
designed to protect said “vault”.

The code that’s responsible for generating and fetching the key from the TPM assumes that
SHA256 PCRs are used in order to seal/unseal the key, and as such their presence is being
checked.

The issue here is that the key is not sealed using SHA256 PCRs, but using SHA1 PCRs.
This leads to several issues:

• Machines that have their SHA256 PCRs enabled but SHA1 PCRs disabled, as well
as not sealing their keys at all, meaning the “vault” is not protected from an attacker.

• SHA1 is considered insecure and reduces the complexity level required to unseal the
key in machines which have their SHA1 PCRs enabled.



An attacker can very easily retrieve the contents of the “vault”, which will effectively render
the “measured boot” mechanism meaningless.

Vault Key Sealed With SHA1 PCRs La solución de arranque medido implementada en EVE OS se apoya en un mecanismo de bloqueo de PCR. Diferentes partes del sistema actualizan diferentes valores de PCR en el TPM, lo que da como resultado un valor único para cada entrada de PCR. Estos PCR se utilizan luego para sellar/abrir una clave del TPM que se utiliza para cifrar/descifrar el directorio "vault". Este directorio "vault" es el punto más sensible del sistema y, como tal, su contenido debe estar protegido. Este mecanismo está señalado en la documentación de Zededa como el mecanismo de “measured boot”, diseñado para proteger dicha “vault”. El código responsable de generar y obtener la clave del TPM asume que se utilizan PCR SHA256 para sellar/abrir la clave y, como tal, se verifica su presencia. El problema aquí es que la clave no se sella mediante PCR SHA256, sino mediante PCR SHA1. Esto genera varios problemas: • Máquinas que tienen sus PCR SHA256 habilitadas pero las PCR SHA1 deshabilitadas, además de que no sellan sus claves en absoluto, lo que significa que la “vault” no está protegida de un atacante. • SHA1 se considera inseguro y reduce el nivel de complejidad requerido para desbloquear la clave en máquinas que tienen sus PCR SHA1 habilitados. Un atacante puede recuperar muy fácilmente el contenido de la "vault", lo que efectivamente dejará sin sentido el mecanismo de "measured boot".

*Credits: Ilay Levi
CVSS Scores
Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Changed
Confidentiality
High
Integrity
High
Availability
High
* Common Vulnerability Scoring System
SSVC
  • Decision:Track*
Exploitation
None
Automatable
No
Tech. Impact
Total
* Organization's Worst-case Scenario
Timeline
  • 2023-09-20 CVE Reserved
  • 2023-09-20 CVE Published
  • 2023-09-22 EPSS Updated
  • 2024-09-25 CVE Updated
  • ---------- Exploited in Wild
  • ---------- KEV Due Date
  • ---------- First Exploit
CWE
  • CWE-327: Use of a Broken or Risky Cryptographic Algorithm
  • CWE-328: Use of Weak Hash
  • CWE-522: Insufficiently Protected Credentials
CAPEC
  • CAPEC-115: Authentication Bypass
Affected Vendors, Products, and Versions
Vendor Product Version Other Status
Vendor Product Version Other Status <-- --> Vendor Product Version Other Status
Linuxfoundation
Search vendor "Linuxfoundation"
Edge Virtualization Engine
Search vendor "Linuxfoundation" for product "Edge Virtualization Engine"
< 9.5.0
Search vendor "Linuxfoundation" for product "Edge Virtualization Engine" and version " < 9.5.0"
-
Affected