Shtojca dhe përmirësime për bibliotekën kriptografike OpenSSL 3.0.1 dhe 1.1.1m janë të disponueshme. Në versionin 3.0.1 është eliminuar një vulnerabilitet (CVE-2021-4044) dhe në të dy versionet janë korrigjuar rreth një duzinë gabimesh.
Vulnerabiliteti është i pranishëm në implementimin e klientëve SSL/TLS dhe lidhet me atë që biblioteca libssl nuk trajton siç duhet vlerat negative të kodit të gabimeve që kthehen nga funksioni X509_verify_cert(), i thirrur për të verifikuar certifikatën e dërguar nga serveri tek klienti. Këto kode negative kthehen kur ndodhin gabime të brendshme, si p.sh., kur nuk mund të alokohet memoria për një tampon. Në rastin e kthimit të një gabimi të tillë, thirrja e mëvonshme e funksioneve të hyrjes/daljes, si SSL_connect() dhe SSL_do_handshake(), do të çojë në kthimin e një përfundimi të pasuksesshëm dhe kodit të gabimit SSL_ERROR_WANT_RETRY_VERIFY, i cili duhet të kthehet vetëm nëse aplikacioni paraprakisht ka bërë thirrje nga SSL_CTX_set_cert_verify_callback().
Duke qenë se shumica e aplikacioneve nuk bëjnë thirrje nga SSL_CTX_set_cert_verify_callback(), shfaqja e gabimit SSL_ERROR_WANT_RETRY_VERIFY mund të interpretohet gabim dhe të çojë në përfundim të papritur, përjetime të pafund ose reagime të tjera jo korrekte. Problemi paraqet rrezikun më të madh në kombinim me një gabim tjetër në OpenSSL 3.0, që shkakton një gabim të brendshëm gjatë përpunimit të certifikatave në X509_verify_cert() pa zgjerimin 'Subject Alternative Name', por me lidhje me emrat në kufizimet e përdorimit. Në këtë rast, një sulm mund të çojë në anomali të varura nga aplikacionet gjatë përpunimit të certifikatave dhe krijimit të seancave TLS.
Burimi: opennet.ru
