Saadaval on täiendavad versioonid krüptograafilisest raamatukogust OpenSSL 3.0.1 ja 1.1.1m. Versioonis 3.0.1 on kõrvaldatud haavatavus (CVE-2021-4044) ning mõlemas versioonis on parandatud umbes tosin viga.
Haavatavus esineb SSL/TLS klientide teostuses ning on seotud sellega, et teek libssl käsitleb negatiivseid vigade koode valesti, mis tagastatakse funktsioonist X509_verify_cert(), mida kasutatakse serveri poolt kliendile edastatud sertifikaadi kontrollimisel. Negatiivsed koodid tagastatakse sisevigade ilmnemisel, näiteks juhul, kui mälu eraldamine puhvri jaoks ebaõnnestub. Selliste vigade tagastamise korral toob järgmine sisendi-/väljundi funktsioonide, nagu SSL_connect() ja SSL_do_handshake(), kutse kaasa ebaõnnestumise ja veakoodi SSL_ERROR_WANT_RETRY_VERIFY, mis peaks tagastama ainult juhul, kui rakendus on varem kutsunud välja SSL_CTX_set_cert_verify_callback().
Kuna enamik rakendusi ei kutsu välja SSL_CTX_set_cert_verify_callback(), võivad vead SSL_ERROR_WANT_RETRY_VERIFY tõlgenduda valesti ning põhjustada rakenduse järsu lõpetamise, lõputu käivitumise või muid ebaõigeid reaktsioone. Probleem on kõige ohtlikum koos teise veaga OpenSSL 3.0-s, mis põhjustab sisevea tekkimise X509_verify_cert() käitlemise ajal sertifikaatide puhul, millel puudub „Subject Alternative Name“ laiendus, kuid millega on seotud nimed kasutuse piirangutes. Sel juhul võib rünnak põhjustada rakendusele sõltuvaid anomaaliaid sertifikaatide käsitlemisel ja TLS-seansside loomisel.
Allikas: opennet.ru
