CVE-2026-87044
ŚrednieCVSS 6.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 11 - wyżej niż 11% wszystkich znanych CVE
Streszczenie
W sterowniku shim kryptografii Mbed TLS (drivers/crypto/crypto_mbedtls_shim.c) ścieżki błędów w funkcjach mbedtls_cbc() i mbedtls_aead() po udanym psa_cipher_encrypt_setup()/psa_aead_decrypt_setup() nie wywołują psa_cipher_abort()/psa_aead_abort(). Powoduje to trwały wyciek kontekstu mbedtls_aes_context (ok. 288 bajtów) ze stałego sterty Mbed TLS (domyślnie 512 bajtów) przy każdej nieudanej operacji. Atakujący bez uwierzytelnienia może wyczerpać stertę, wysyłając ramki 802.15.4 z błędnym MIC lub przez kanał OSDP, co trwale blokuje kolejne operacje kryptograficzne do restartu urządzenia.
Ocena ryzyka
Wyczerpanie sterty Mbed TLS powoduje trwałą awarię wszystkich operacji kryptograficznych w obrazie, w tym bezpieczeństwa warstwy łącza i TLS/DTLS, co prowadzi do odmowy usługi (DoS) do momentu restartu urządzenia. Brak korupcji pamięci i ujawnienia informacji — wpływ ogranicza się do dostępności.
Rekomendacja
Zaktualizuj system do wersji zawierającej poprawkę, która kieruje wszystkie błędy po setupie w mbedtls_cbc() i mbedtls_aead() przez wspólną etykietę wywołującą odpowiedni abort PSA. Do czasu wdrożenia poprawki ogranicz ekspozycję radiową 802.15.4 i kanałów OSDP oraz monitoruj restarty urządzeń.
Inne podatności w Mbed TLS
Zobacz wszystkie- CVE-2026-34877Krytyczne
Podatność w bibliotece Mbed TLS (wersje 2.19.0 do 3.6.5 oraz 4.0.0) wynika z niedostatecznej ochrony serializowanych struktur SSL. Osoba atakująca może modyfikować te struktury, powodując uszkodzenie pamięci i potencjalnie wykonanie dowolnego kodu.
- CVE-2026-73064Niskie
W Mbed TLS w wersjach 3.2.0 do 3.6.6 oraz 4.0.0 do 4.1.0 atakujący, który może spowodować awarię źródła entropii, może usunąć lub wstrzyknąć bajty na początku strumienia TLS. Podatność dotyczy wyłącznie serwerów TLS 1.3.
- CVE-2026-25832Niskie
W bibliotece Mbed TLS w wersjach 3.6.x przed 3.6.7 oraz 4.1.x przed 4.1.2 klient TLS 1.3 akceptuje komunikat HelloRetryRequest wskazujący grupę, której klient nie zadeklarował wcześniej. Może to prowadzić do naruszenia uzgodnień protokołu TLS 1.3.
- CVE-2026-34876Wysokie
Mbed TLS 3.x przed 3.6.6 zawiera podatność na odczyt poza zakresem w funkcji mbedtls_ccm_finish() z powodu braku walidacji parametru tag_len. Atakujący może uzyskać dane z sąsiedniego kontekstu CCM.
- CVE-2025-66442Średnie
W Mbed TLS do wersji 4.0.0 występuje wywołany przez kompilator kanał boczny czasowy (w deszyfrowaniu RSA oraz CBC/ECB), który pojawia się tylko przy użyciu funkcji select-optimize w LLVM. Dotyczy to również TF-PSA-Crypto do wersji 1.0.0.
- CVE-2025-59438Średnie
Mbed TLS do wersji 3.6.4 zawiera podatność typu Observable Timing Discrepancy (obserwowalna rozbieżność czasowa). Może to pozwolić atakującemu na wywnioskowanie informacji na podstawie różnic w czasie wykonania operacji kryptograficznych.
- CVE-2025-54764Średnie
Mbed TLS w wersji przed 3.6.5 pozwala na lokalny atak czasowy przeciwko niektórym operacjom RSA oraz bezpośrednim wywołaniom mbedtls_mpi_mod_inv lub mbedtls_mpi_gcd. Atakujący z lokalnym dostępem może wykorzystać różnice czasowe do wyciągnięcia informacji o operacjach kryptograficznych.
Oryginalny opis (angielski, źródło NVD)
The Mbed TLS crypto shim driver in drivers/crypto/crypto_mbedtls_shim.c drives PSA multipart cipher and AEAD operations. In mbedtls_cbc() and mbedtls_aead(), every error path after a successful psa_cipher_encrypt_setup() / psa_aead_decrypt_setup() returned directly without calling psa_cipher_abort() / psa_aead_abort(). Because the abort is the only thing that reaches mbedtls_cipher_free(), each failed operation permanently leaked the heap-allocated mbedtls_aes_context (roughly 288 bytes) that setup had allocated from Mbed TLS's fixed static heap (_mbedtls_heap[CONFIG_MBEDTLS_HEAP_SIZE], default 512 bytes). With CONFIG_PSA_CRYPTO_PROVIDER_TFM the leaked object is instead a finite secure-partition multipart-operation slot. The failure is chosen by an unauthenticated attacker. With CONFIG_NET_L2_IEEE802154_SECURITY backed by this driver, ieee802154_decrypt_auth() in subsys/net/l2/ieee802154/ieee802154_security.c invokes cipher_ccm_op() on every received secured frame, with no authentication ahead of the MIC check. A device in radio range can transmit a stream of syntactically valid 802.15.4 frames carrying a bogus MIC; each one makes psa_aead_verify() fail and leaks a block. The CBC path is reachable the same way through the OSDP secure channel, where CONFIG_OSDP_SC_ENABLED selects this shim and osdp_encrypt() / osdp_decrypt() leave out_buf_max unset, so every operation fails inside psa_cipher_update(). Exhausting the Mbed TLS heap — which the default configuration reaches after a couple of failed operations, and any realistic configuration reaches in well under a second of frames — makes all subsequent mbedtls_calloc() calls fail. Every later cryptographic operation in the image then fails permanently, including link-layer security and any TLS/DTLS sharing the same heap, until the device is rebooted. There is no memory corruption or information disclosure: frames with an invalid MIC are still rejected, so the impact is limited to availability. The fix routes all post-setup failures in mbedtls_cbc() and mbedtls_aead() through a common error: label that calls the matching PSA abort before returning. Setup failures need no change, since the PSA core aborts the operation itself when setup fails.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

