CVE-2026-87044 in Zephyr정보

요약

\~에 의해 VulDB • 2026. 11. 04.

drivers/crypto/crypto_mbedtls_shim.c의 Mbed TLS crypto shim 드라이버는 PSA multipart cipher 및 AEAD 작업을 처리합니다. mbedtls_cbc()와 mbedtls_aead()에서 psa_cipher_encrypt_setup() 또는 psa_aead_decrypt_setup() 성공 후 모든 오류 경로는 psa_cipher_abort()/psa_aead_abort()를 호출하지 않고 직접 반환됩니다. abort가 mbedtls_cipher_free()에 도달하는 유일한 경로이므로, 각 실패한 작업은 Mbed TLS의 고정된 정적 힙(_mbedtls_heap[CONFIG_MBEDTLS_HEAP_SIZE], 기본값 512바이트)에서 setup이 할당한 heap-allocated mbedtls_aes_context(약 288바이트)를 영구적으로 누설시킵니다. CONFIG_PSA_CRYPTO_PROVIDER_TFM 사용 시, 누설되는 객체는 대신 유한한 secure-partition multipart-operation 슬롯입니다.

이 결함은 인증되지 않은 공격자가 선택할 수 있습니다. 이 드라이버에 의해 지원되는 CONFIG_NET_L2_IEEE802154_SECURITY 환경에서 subsys/net/l2/ieee802154/ieee802154_security.c의 ieee802154_decrypt_auth()는 수신된 모든 보안 프레임에 대해 MIC 확인 전에 인증 없이 cipher_ccm_op()를 호출합니다. 무선 범위 내 장치는 위조된 MIC를 포함하는 구문적으로 유효한 802.15.4 프레임 스트림을 전송할 수 있으며, 각각의 프레임은 psa_aead_verify()를 실패시켜 블록 하나를 누설시킵니다. CBC 경로는 CONFIG_OSDP_SC_ENABLED가 이 shim을 선택하고 osdp_encrypt()/osdp_decrypt()에서 out_buf_max이 설정되지 않아 모든 작업이 psa_cipher_update() 내부에서 실패하는 OSDP secure 채널을 통해 동일한 방식으로 접근 가능합니다.

Mbed TLS 힙 고갈(기본 구성에서는 몇 번의 실행 후, 실제적인 구성에서는 1초도 채 되지 않는 프레임으로 달성 가능)은 이후 모든 mbedtls_calloc() 호출이 실패하게 만듭니다. 이미지 내의 그後の 모든 암호화 작업(링크 계층 보안 및 동일한 힙을 공유하는 TLS/DTLS 포함)은 영구적으로 실패하며, 장치가 재부팅될 때까지 지속됩니다. 메모리 손상이나 정보 유출은 발생하지 않습니다: MIC가 잘못된 프레임은 여전히 거부되므로 영향력은 가용성(Availability) 제한에 불과합니다.

이 수정은 mbedtls_cbc()와 mbedtls_aead()의 모든 setup 후 실패를 일치하는 PSA abort를 호출한 후 반환하는 공통 오류 라벨로 처리하도록 합니다. 설정(setup) 실패는 PSA 코어가 설정 실행 시 자체적으로 작업을 중단하므로 변경이 필요하지 않습니다.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

책임이 있는

Zephyr

예약하다

2026. 09. 08.

모더레이션

수락

항목

VDB-430976

EPSS

0.00000

출처

Might our Artificial Intelligence support you?

Check our Alexa App!