Na voljo so popravki kriptografskega knjižnice OpenSSL 3.0.1 in 1.1.1m. V različici 3.0.1 je bila odpravljena ranljivost (CVE-2021-4044), prav tako pa je bilo v obeh različicah odpravljenih približno deset napak.
Ranljivost je prisotna v izvedbi odjemalcev SSL/TLS in je povezana z dejstvom, da knjižnica libssl nepravilno obravnava negativne vrednosti kod napak, ki jih vrne funkcija X509_verify_cert(), klicana za preverjanje potrdila, poslanega od strežnika. Negativne kode se vrnejo pri notranjih napakah, na primer, ko ni mogoče dodeliti pomnilnika za predpomnilnik. V primeru vrnitve takšne napake bo naslednji klic vhodno/izhodnih funkcij, kot sta SSL_connect() in SSL_do_handshake(), pripeljal do neuspešno dokončanega izvajanja in kode napake SSL_ERROR_WANT_RETRY_VERIFY, ki bi se morala vrniti le, če je aplikacija prej klicala SSL_CTX_set_cert_verify_callback().
Ker večina aplikacij ne kliče SSL_CTX_set_cert_verify_callback(), se lahko pojavitev napake SSL_ERROR_WANT_RETRY_VERIFY napačno razume in pripelje do nenadnega zaključka, zanke ali drugih nepravih reakcij. Največjo nevarnost problem predstavlja v kombinaciji z drugo napako v OpenSSL 3.0, ki povzroči notranjo napako pri obravnavi v X509_verify_cert() potrdil brez razširitve "Subject Alternative Name", vendar z vezavami na imena v omejitvah uporabe. V tem primeru lahko napad privede do odvisnih od aplikacij anomalij pri obravnavi potrdil in vzpostavitvi sejanov TLS.
Izvor: opennet.ru
