Проблема была обнаружена в Mbed TLS 3.x до версии 3.6.6. Уязвимость чтения за пределами границ в mbedtls_ccm_finish() в библиотеке/ccm.c позволяет злоумышленникам получать смежные контекстные данные CCM посредством вызова составного API CCM с слишком большим параметром tag_len. Это вызвано отсутствием проверки параметра tag_len на соответствие размеру внутреннего 16-байтового буфера аутентификации.
Проблема затрагивает общедоступный многочастный API CCM в Mbed TLS 3.x, где mbedtls_ccm_finish() может вызываться непосредственно приложениями. В версиях Mbed TLS 4.x до исправления во внутренней реализации существует та же отсутствующая проверка; однако эта функция не предоставляется как часть общедоступного API. Для эксплуатации требуется вызов составного API CCM на уровне приложения.
Показать оригинальное описание (EN)
An issue was discovered in Mbed TLS 3.x before 3.6.6. An out-of-bounds read vulnerability in mbedtls_ccm_finish() in library/ccm.c allows attackers to obtain adjacent CCM context data via invocation of the multipart CCM API with an oversized tag_len parameter. This is caused by missing validation of the tag_len parameter against the size of the internal 16-byte authentication buffer. The issue affects the public multipart CCM API in Mbed TLS 3.x, where mbedtls_ccm_finish() can be invoked directly by applications. In Mbed TLS 4.x versions prior to the fix, the same missing validation exists in the internal implementation; however, the function is not exposed as part of the public API. Exploitation requires application-level invocation of the multipart CCM API.
Характеристики атаки
Последствия
Строка CVSS v3.1
Тип уязвимости (CWE)
Уязвимые продукты 1
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Arm Mbed_Tls
cpe:2.3:a:arm:mbed_tls:*:*:*:*:*:*:*:*
|
3.1.0
|
3.6.6
|