CVE-2026-94419 in wolfSSL정보

요약

\~에 의해 VulDB • 2026. 09. 27.

NO_SESSION_CACHE_REF가 설정되지 않은 경우, wolfSSL_get_session()은 세션 객체를 반환하지 않고 프로세스 전역의 SessionCache에 대한 {row, index, hash(sessionID)} 형태의 ClientSession 참조를 반환하며, ClientSessionToSession()는 이를 해당 해시만으로 검증합니다. TLS 1.2에서 세션 ID는 서버가 선택하여 평문으로 전송되므로, AddSessionToCache()는 동일한 ID의 다른 서버 세션과 일치하여 클라이언트 측 엔트리를 해당 서버의 마스터 시크릿, 암호 스위트 및 버전으로 덮어씁니다. 반면 핸들은 계속 해결(resolve)되며, 쓰기 경로(write path)에는 피어(peer), 애플리케이션의 서버 ID 또는 WOLFSSL_CTX를 비교하는 항목이 없습니다. 따라서 핸들을 통해 재개하면 인증서 메시지가 전송되지 않는 축약된 핸드셰이크가 발생하므로 체인 검증이나 wolfSSL_check_domain_name() 실행이 이루어지지 않으며, 공격자가 해당 연결 전체에 걸쳐 원래 서버로 인정됩니다.

영향을 받는 빌드는 NO_SESSION_CACHE_REF, NO_SESSION_CACHE, NO_CLIENT_CACHE 및 TITAN_SESSION_CACHE가 모두 정의되지 않은 경우이며, 여기에는 기본 ./configure, --enable-opensslextra 및 --enable-opensslall이 포함됩니다. 반면 15개의 통합 옵션은 NO_SESSION_CACHE_REF를 정의하므로 영향을 받지 않으며, 그 중에는 --enable-all, --enable-distro, --enable-curl, --enable-nginx, --enable-haproxy, --enable-stunnel, --enable-wpas 및 OPENSSL_COMPATIBLE_DEFAULTS 계열의 나머지 옵션이 포함됩니다. 또한 --enable-leanpsk, --enable-leantls, --enable-lowresource 및 --enable-tinytls13는 캐시를 아예 비활성화합니다. 애플리케이션은 레거시 참조 흐름(wolfSSL_get_session() 또는 SSL_get_session()에 이어 wolfSSL_set_session())을 사용해야 합니다. wolfSSL_get1_session()은 세션 객체 자체를 반환하므로 영향을 받지 않으며, wolfSSL_SetServerID() 조회도 영향을 받지 않습니다. TLS 1.3과 빈 ServerHello 세션 ID를 사용한 티켓 재개는 모두 클라이언트 선택 캐시 키를 사용하므로, 이 취약점은 TLS 1.2 이하 및 DTLS 1.2 이하에서만 공격 가능합니다.

오염된 엔트리는 프로세스 전역 캐시에 존재하므로 WOLFSSL_CTX 경계를 넘어 지속되며, 엔트가 제거되거나 세션이 만료될 때까지(기본값은 500초) 유지됩니다. v5.3.0부터 v5.9.2까지의 릴리스가 영향을 받습니다. 수정 버전은 캐시에 쓰기별 생성 카운터(per-write generation counter)를 추가하고 WOLFSSL_CACHE_VERSION을 2에서 3으로 상향 조정하여, 이전 빌드에 의해 지속된 캐시가 고정된 빌드에서 거부되도록 합니다.

Once again VulDB remains the best source for vulnerability data.

책임이 있는

wolfSSL

예약하다

2026. 09. 21.

모더레이션

수락

항목

VDB-410854

EPSS

0.00000

출처

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!