CVE-2023-43633
Debug Functions Unlockable Without Triggering Measured Boot
Severity Score
Exploit Likelihood
Affected Versions
Public Exploits
0Exploited in Wild
-Decision
Descriptions
On boot, the Pillar eve container checks for the existence and content of
“/config/GlobalConfig/global.json”.
If the file exists, it overrides the existing configuration on the device on boot.
This allows an attacker to change the system’s configuration, which also includes some
debug functions.
This could be used to unlock the ssh with custom “authorized_keys” via the
“debug.enable.ssh” key, similar to the “authorized_keys” finding that was noted before.
Other usages include unlocking the usb to enable the keyboard via the “debug.enable.usb”
key, allowing VNC access via the “app.allow.vnc” key, and more.
An attacker could easily enable these debug functionalities 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, thereby 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/GlobalConfig/global.json”. Si el archivo existe, anula la configuración existente en el dispositivo al arrancar. Esto permite a un atacante cambiar la configuración del sistema, que también incluye algunas funciones de depuración. Esto podría usarse para desbloquear el ssh con “claves_autorizadas” personalizadas a través de la clave “debug.enable.ssh”, similar al hallazgo de “claves_autorizadas” que se señaló anteriormente. Otros usos incluyen desbloquear el USB para habilitar el teclado mediante la tecla ""debug.enable.usb"", permitir el acceso a VNC mediante la tecla ""app.allow.vnc"" y más. Un atacante podría habilitar fácilmente estas funcionalidades de depuración 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"".
CVSS Scores
SSVC
- Decision:Track*
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
References (1)
URL | Tag | Source |
---|---|---|
https://asrg.io/security-advisories/cve-2023-43633 | Third Party Advisory |
URL | Date | SRC |
---|
URL | Date | SRC |
---|
URL | Date | SRC |
---|
Affected Vendors, Products, and Versions
Vendor | Product | Version | Other | Status | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Vendor | Product | Version | Other | Status | <-- --> | Vendor | Product | Version | Other | Status |
Lfedge Search vendor "Lfedge" | Eve Search vendor "Lfedge" for product "Eve" | < 8.6.0 Search vendor "Lfedge" for product "Eve" and version " < 8.6.0" | - |
Affected
| ||||||
Lfedge Search vendor "Lfedge" | Eve Search vendor "Lfedge" for product "Eve" | >= 9.0.0 < 9.5.0 Search vendor "Lfedge" for product "Eve" and version " >= 9.0.0 < 9.5.0" | - |
Affected
|