В TLSX_EchChangeSNI ветвь ctx->extensions устанавливает расширения безоговорочно, даже если TLSX_Find возвращает NULL. Это привело к тому, что TLSX_UseSNI прикрепил контролируемое злоумышленником publicName к общему WOLFSSL_CTX, когда внутренний SNI не был настроен. Затем TLSX_EchRestoreSNI не удалось его очистить, поскольку его удаление было ограничено serverNameX != NULL.
Размер внутреннего ClientHello был задан до загрязнения, но записан после него, в результате чего TLSX_SNI_Write запомнил 255 байт за границу выделения.
Показать оригинальное описание (EN)
In TLSX_EchChangeSNI, the ctx->extensions branch set extensions unconditionally even when TLSX_Find returned NULL. This caused TLSX_UseSNI to attach the attacker-controlled publicName to the shared WOLFSSL_CTX when no inner SNI was configured. TLSX_EchRestoreSNI then failed to clean it up because its removal was gated on serverNameX != NULL. The inner ClientHello was sized before the pollution but written after it, causing TLSX_SNI_Write to memcpy 255 bytes past the allocation boundary.
Характеристики атаки
Последствия
Строка CVSS v4.0