// For flags

CVE-2023-43631

SSH as Root Unlockable Without Triggering Measured Boot

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

On boot, the Pillar eve container checks for the existence and content of
“/config/authorized_keys”.

If the file is present, and contains a supported public key, the container will go on to open
port 22 and enable sshd with the given keys as the authorized keys for root login.

An attacker could easily add their own keys and gain full control over the system without
triggering the “measured boot” mechanism implemented by EVE OS, and without marking
the device as “UUD” (“Unknown Update Detected”).

This is because the “/config” partition is not protected by “measured boot”, it is mutable, and
it is not encrypted in any way.




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.

Al arrancar, el contenedor Pillar eve comprueba la existencia y el contenido de “/config/authorized_keys”. Si el archivo está presente y contiene una clave pública compatible, el contenedor abrirá el puerto 22 y habilitará sshd con las claves proporcionadas como claves autorizadas para el inicio de sesión de root. Un atacante podría agregar fácilmente sus propias claves y obtener control total sobre el sistema sin activar el mecanismo de ""measured boot"" implementado por EVE OS y sin marcar el dispositivo como ""UUD"" (""Actualización Desconocida Detectada""). Esto se debe a que la partición “/config” no está protegida por “measured boot”, es mutable y no está cifrada de ninguna manera. 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 ""vault"". 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-21 CVE Published
  • 2023-09-22 EPSS Updated
  • 2024-09-24 CVE Updated
  • ---------- Exploited in Wild
  • ---------- KEV Due Date
  • ---------- First Exploit
CWE
  • CWE-522: Insufficiently Protected Credentials
  • CWE-922: Insecure Storage of Sensitive Information
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"
< 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