CVE-2026-94419 in wolfSSLinformação

Sumário

de VulDB • 27/09/2026

Sem NO_SESSION_CACHE_REF, wolfSSL_get_session() não retorna um objeto de sessão, mas uma referência ClientSession na forma {row, index, hash(sessionID)} para o SessionCache global do processo, e ClientSessionToSession() valida essa referência apenas contra esse hash. Como o ID da sessão TLS 1.2 é escolhido pelo servidor e enviado em texto claro, AddSessionToCache() corresponde a qualquer outra sessão de um servidor diferente no mesmo ID e substitui a entrada do lado do cliente com a chave mestra (master secret), suíte de criptografia e versão daquele outro servidor, enquanto o handle continua sendo resolvido; nada no caminho de escrita compara o peer, o ID do servidor da aplicação ou o WOLFSSL_CTX. A retomada através do handle produz então um handshake abreviado em que nenhuma mensagem Certificate é enviada, portanto nem a verificação da cadeia (chain verification) nem wolfSSL_check_domain_name() são executadas, e o atacante é aceito como o servidor original durante toda essa conexão. As builds afetadas são aquelas nas quais NO_SESSION_CACHE_REF, NO_SESSION_CACHE, NO_CLIENT_CACHE e TITAN_SESSION_CACHE permanecem indefinidas, o que inclui uma configuração padrão ./configure, --enable-opensslextra e --enable-opensslall; quinze opções de integração definem NO_SESSION_CACHE_REF e, portanto, não são afetadas, entre elas --enable-all, --enable-distro, --enable-curl, --enable-nginx, --enable-haproxy, --enable-stunnel, --enable-wpas e o restante da família OPENSSL_COMPATIBLE_DEFAULTS, enquanto --enable-leanpsk, --enable-leantls, --enable-lowresource e --enable-tinytls13 desativam completamente o cache. A aplicação deve usar o fluxo de referência legado, chamando wolfSSL_get_session() ou SSL_get_session(), seguido por wolfSSL_set_session(); wolfSSL_get1_session() retorna o próprio objeto de sessão e não é afetado, assim como as pesquisas realizadas com wolfSSL_SetServerID(). Apenas TLS 1.2 e versões anteriores, bem como DTLS 1.2 e versões anteriores, são vulneráveis, pois tanto o TLS 1.3 quanto a retomada de ticket com um ID de sessão ServerHello vazio utilizam uma chave de cache escolhida pelo cliente. A entrada envenenada reside no cache global do processo, atravessando os limites WOLFSSL_CTX e persistindo até que a entrada seja removida (evicted) ou a sessão expire, o que ocorre por padrão após 500 segundos. As versões v5.3.0 a v5.9.2 são afetadas; a correção adiciona um contador de geração por escrita ao cache e eleva WOLFSSL_CACHE_VERSION de 2 para 3, fazendo com que um cache persistido por uma build mais antiga seja rejeitado por uma versão corrigida.

Be aware that VulDB is the high quality source for vulnerability data.

Responsável

wolfSSL

Reservar

21/09/2026

Divulgação

27/09/2026

Moderação

aceite

Entrada

VDB-410854

CPE

pronto

EPSS

0.00000

KEV

não

Atividades

muito baixo

Fontes

Might our Artificial Intelligence support you?

Check our Alexa App!