CVE-2026-94419
>_ Opis
Tłumaczenie automatyczne – może zawierać nieścisłości.
Bez NO_SESSION_CACHE_REF funkcja wolfSSL_get_session() nie zwraca obiektu sesji, ale odwołanie do ClientSession w postaci {wiersz, indeks, hash(sessionID)} do globalnej pamięci procesu SessionCache, a ClientSessionToSession() sprawdza go wyłącznie na podstawie tego skrótu. Ponieważ identyfikator sesji TLS 1.2 jest wybierany przez serwer i wysyłany w postaci jawnej, AddSessionToCache() dopasowuje sesję dowolnego innego serwera o tym samym identyfikatorze i zastępuje wpis po stronie klienta głównym sekretem, zestawem szyfrów i wersją tego serwera, podczas gdy dojście jest nadal rozpoznawane; nic na ścieżce zapisu nie porównuje partnera, identyfikatora serwera aplikacji ani WOLFSSL_CTX. Wznowienie dojścia skutkuje skróconym uzgadnianiem, podczas którego nie jest wysyłany żaden komunikat o certyfikacie, więc nie uruchamia się ani weryfikacja łańcucha, ani wolfSSL_check_domain_name(), a atakujący zostaje zaakceptowany jako oryginalny serwer dla całego tego połączenia. Dotyczy to kompilacji, które pozostawiają NO_SESSION_CACHE_REF, NO_SESSION_CACHE, NO_CLIENT_CACHE i TITAN_SESSION_CACHE wszystkie niezdefiniowane, co obejmuje zwykłe ./configure, --enable-opensslextra i --enable-opensslall; piętnaście opcji integracji definiuje NO_SESSION_CACHE_REF i dlatego nie ma na nie wpływu, między innymi --enable-all, --enable-distro, --enable-curl, --enable-nginx, --enable-haproxy, --enable-stunnel, --enable-wpas i reszta rodziny OPENSSL_COMPATIBLE_DEFAULTS oraz --enable-leanpsk, --enable-leantls, --enable-lowresource i --enable-tinytls13 całkowicie wyłączają pamięć podręczną. Aplikacja musi używać starszego przepływu referencyjnego, wolfSSL_get_session() lub SSL_get_session(), po którym następuje wolfSSL_set_session(); wolfSSL_get1_session() zwraca sam obiekt sesji i nie ma to na to wpływu, ani na wyszukiwania wolfSSL_SetServerID(). Dostępne są tylko protokoły TLS 1.2 i starsze oraz DTLS 1.2 i starsze, ponieważ zarówno protokół TLS 1.3, jak i wznowienie biletu z pustym identyfikatorem sesji ServerHello korzystają z klucza pamięci podręcznej wybranego przez klienta. Zatruty wpis znajduje się w globalnej pamięci podręcznej procesu, zatem przekracza granice WOLFSSL_CTX i utrzymuje się do momentu wykluczenia wpisu lub upłynięcia limitu czasu sesji (domyślnie 500 sekund). Dotyczy to wersji od 5.3.0 do 5.9.2; poprawka dodaje do pamięci podręcznej licznik generacji przypadający na zapis i podnosi wartość WOLFSSL_CACHE_VERSION z 2 do 3, więc pamięć podręczna utrwalona w starszej wersji jest odrzucana przez naprawioną.
>_ Słabości (CWE)
>_ Referencje
Dane podatności pochodzą z oficjalnych źródeł (CVE® List / NVD). Opisy po polsku są tłumaczone automatycznie i mogą zawierać nieścisłości – na stronie rekordu można wyświetlić wersję angielską.
This product uses the NVD API but is not endorsed or certified by the NVD.
Copyright © 1999–2026, The MITRE Corporation. CVE is a registered trademark and the CVE logo is a registered trademark of The MITRE Corporation.
CVE Usage: MITRE hereby grants you a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Common Vulnerabilities and Exposures (CVE®). Any copy you make for such purposes is authorized provided that you reproduce MITRE's copyright designation and this license in any such copy. ALL DOCUMENTS AND THE INFORMATION CONTAINED THEREIN PROVIDED BY MITRE ARE PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND.
NVD Terms of Use / CVE® Terms of Use / nvd.nist.gov / cve.org