Использование кучи после освобождения существует в гибридной обработке KeyShare пост-квантовой криптографии (PQC) TLS 1.3 от wolfSSL. В пути обработки ошибок TLSX_KeyShare_ProcessPqcHybridClient() в src/tls.c внутренняя функция TLSX_KeyShare_ProcessPqcClient_ex() освобождает объект KyberKey при обнаружении ошибки. Затем вызывающая сторона вызывает TLSX_KeyShare_FreeAll(), которая пытается вызвать ForceZero() для уже освобожденного KyberKey, что приводит к записи нулевых байтов в освобожденную память кучи.
Показать оригинальное описание (EN)
A heap use-after-free exists in wolfSSL's TLS 1.3 post-quantum cryptography (PQC) hybrid KeyShare processing. In the error handling path of TLSX_KeyShare_ProcessPqcHybridClient() in src/tls.c, the inner function TLSX_KeyShare_ProcessPqcClient_ex() frees a KyberKey object upon encountering an error. The caller then invokes TLSX_KeyShare_FreeAll(), which attempts to call ForceZero() on the already-freed KyberKey, resulting in writes of zero bytes over freed heap memory.
Характеристики атаки
Последствия
Строка CVSS v4.0