// For flags

CVE-2023-43636

Rootfs Not Protected

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

In EVE OS, the “measured boot” mechanism prevents a compromised device from accessing
the encrypted data located in the vault.

As per the “measured boot” design, the PCR values calculated at different stages of the boot
process will change if any of their respective parts are changed.

This includes, among other things, the configuration of the bios, grub, the kernel cmdline,
initrd, and more.

However, this mechanism does not validate the entire rootfs, so an attacker can edit the
filesystem and gain control over the system.

As the default filesystem used by EVE OS is squashfs, this is somewhat harder than an ext4,
which is easily changeable.

This will not stop an attacker, as an attacker can repackage the squashfs with their changes
in it and replace the partition altogether.

This can also be done directly on the device, as the “003-storage-init” container contains the
“mksquashfs” and “unsquashfs” binaries (with the corresponding libs).







An attacker can gain full control over the device without changing the PCR values, thus not
triggering the “measured boot” mechanism, and having full access to the vault.



Note:

This issue was partially fixed in these commits (after disclosure to Zededa), where the config
partition measurement was added to PCR13:

• aa3501d6c57206ced222c33aea15a9169d629141

• 5fef4d92e75838cc78010edaed5247dfbdae1889.

This issue was made viable in version 9.0.0 when the calculation was moved to PCR14 but it was not included in the measured boot.

En EVE OS, el mecanismo de "measured boot" evita que un dispositivo comprometido acceda a los datos cifrados ubicados en la bóveda. Según el diseño de “measured boot”, los valores de PCR calculados en diferentes etapas del proceso de arranque cambiarán si se cambia alguna de sus respectivas partes. Esto incluye, entre otras cosas, la configuración de BIOS, grub, cmdline del kernel, initrd y más. Sin embargo, este mecanismo no valida todos los rootfs, por lo que un atacante puede editar el sistema de archivos y obtener control sobre el sistema. Como el sistema de archivos predeterminado utilizado por EVE OS es squashfs, esto es algo más difícil que un ext4, que se puede cambiar fácilmente. Esto no detendrá a un atacante, ya que un atacante puede volver a empaquetar los squashfs con sus cambios y reemplazar la partición por completo. Esto también se puede hacer directamente en el dispositivo, ya que el contenedor “003-storage-init” contiene los binarios “mksquashfs” y “unsquashfs” (con las bibliotecas correspondientes). Un atacante puede obtener control total sobre el dispositivo sin cambiar los valores de PCR, por lo que no activará el mecanismo de "measured boot" y tendrá acceso completo a la bóveda. Nota: Este problema se solucionó parcialmente en estos commits (después de la divulgación a Zededa), donde la medición de la partición de configuración se agregó a PCR13:
• aa3501d6c57206ced222c33aea15a9169d629141
• 5fef4d92e75838cc78010edaed5247dfbdae1889
Este problema se hizo viable en la versión 9.0.0 cuando el cálculo se trasladó a PCR14, pero no se incluyó en el "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-24 CVE Updated
  • ---------- Exploited in Wild
  • ---------- KEV Due Date
  • ---------- First Exploit
CWE
  • CWE-345: Insufficient Verification of Data Authenticity
CAPEC
  • CAPEC-549: Local Execution of Code
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"
< 8.6.0
Search vendor "Linuxfoundation" for product "Edge Virtualization Engine" and version " < 8.6.0"
-
Affected
Linuxfoundation
Search vendor "Linuxfoundation"
Edge Virtualization Engine
Search vendor "Linuxfoundation" for product "Edge Virtualization Engine"
>= 9.0.0 < 9.5.0
Search vendor "Linuxfoundation" for product "Edge Virtualization Engine" and version " >= 9.0.0 < 9.5.0"
-
Affected