CVE-2026-87044 in Zephyrinfo

Zusammenfassung

von VulDB • 04.11.2026

Der Mbed TLS Crypto-Shim-Treiber in `drivers/crypto/crypto_mbedtls_shim.c` verarbeitet PSA-Multipart-Cipher- und AEAD-Vorgänge (Authenticated Encryption with Associated Data). In `mbedtls_cbc()` und `mbedtls_aead()` wurde jeder Fehlerpfad nach einem erfolgreichen Aufruf von `psa_cipher_encrypt_setup()` bzw. `psa_aead_decrypt_setup()` direkt beendet, ohne dass `psa_cipher_abort()` oder `psa_aead_abort()` aufgerufen wurden. Da der Abort-Vorgang die einzige Funktion ist, die `mbedtls_cipher_free()` erreicht, führte jeder fehlgeschlagene Vorgang zu einem permanenten Leck des heap-allokierten `mbedtls_aes_context` (ca. 288 Bytes), den das Setup aus dem festen statischen Heap von Mbed TLS (`_mbedtls_heap[CONFIG_MBEDTLS_HEAP_SIZE]`, Standardwert: 512 Bytes) alloziert hatte. Bei Verwendung von `CONFIG_PSA_CRYPTO_PROVIDER_TFM` wird stattdessen ein begrenzter Slot für sichere Partitionen mit Multi-Vorgang (secure-partition multipart-operation slot) geleakt.

Der Angriffspunkt kann von einem nicht authentifizierten Angreifer gewählt werden. Wenn der Treiber durch `CONFIG_NET_L2_IEEE802154_SECURITY` unterstützt wird, ruft `ieee802154_decrypt_auth()` in `subsys/net/l2/ieee802154/ieee802154_security.c` bei jedem empfangenen gesicherten Frame `cipher_ccm_op()` auf, ohne eine Authentifizierung vor der MIC-Prüfung (Message Integrity Code) durchzuführen. Ein Gerät im Funkbereich kann einen Strom syntaktisch gültiger 802.15.4-Frames mit einem gefälschten MIC senden; jeder einzelne führt dazu, dass `psa_aead_verify()` fehlschlägt und ein Block geleakt wird. Der CBC-Pfad ist auf die gleiche Weise über den OSDP-Sicherheitskanal erreichbar, wo durch `CONFIG_OSDP_SC_ENABLED` dieser Shim ausgewählt wird und `osdp_encrypt()` bzw. `osdp_decrypt()` das Feld `out_buf_max` nicht setzen, sodass jeder Vorgang innerhalb von `psa_cipher_update()` fehlschlägt.

Die Erschöpfung des Mbed TLS-Heaps – was bei der Standardkonfiguration nach einigen fehlgeschlagenen Operationen eintritt und in jeder realistischen Konfiguration unter einer Sekunde an Frames erreicht wird – führt dazu, dass alle nachfolgenden `mbedtls_calloc()`-Aufrufe fehlschlagen. Jeder spätere kryptografische Vorgang im Image schlägt dann dauerhaft fehl, einschließlich der Link-Layer-Sicherheit sowie aller TLS/DTLS-Vorgänge, die denselben Heap teilen, bis das Gerät neu gestartet wird. Es gibt keine Speicherkorruption oder Informationspreisgabe: Frames mit einem ungültigen MIC werden weiterhin abgelehnt, sodass die Auswirkung auf die Verfügbarkeit beschränkt ist.

Die Korrektur leitet alle Post-Setup-Fehler in `mbedtls_cbc()` und `mbedtls_aead()` über eine gemeinsame Fehlerbezeichner-Routine (error label), die den entsprechenden PSA-Abort aufruft, bevor sie zurückkehrt. Setup-Fehler erfordern keine Änderung, da der PSA-Core den Vorgang selbst abbricht, wenn das Setup fehlschlägt.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Zuständig

Zephyr

Reservieren

08.09.2026

Veröffentlichung

04.11.2026

Moderieren

akzeptiert

Eintrag

VDB-430976

EPSS

0.00000

KEV

nein

Aktivitäten

very low

Quellen

Interested in the pricing of exploits?

See the underground prices here!