Абнаўленне OpenSSL 3.0.1 з ухіленнем уразлівасці

Даступныя карэкціруючыя выпускі крыптаграфічнай бібліятэкі OpenSSL 3.0.1 і 1.1.1m. У версіі 3.0.1 ухіленая ўразлівасць (CVE-2021-4044), таксама ў абодвух выпусках выпраўлена каля дзясятка памылак.

Уразлівасць прысутнічае ў рэалізацыі кліентаў SSL/TLS і злучана з тым, што бібліятэка libssl некарэктна апрацоўвае адмоўныя значэнні кодаў памылак, якія вяртаюцца функцыяй X509_verify_cert(), выкліканай для праверкі сертыфіката, перададзенага кліенту серверам. Адмоўныя коды вяртаюцца пры ўзнікненні ўнутраных памылак, напрыклад, у выпадку немагчымасці вылучыць памяць пад буфер. У выпадку вяртання падобнай памылкі наступны выклік функцый уводу/высновы, такіх як SSL_connect() і SSL_do_handshake(), прывядзе да вяртання няўдалага завяршэння і кода памылкі SSL_ERROR_WANT_RETRY_VERIFY, які павінен вяртацца толькі калі прыкладанне ранняе здзейсніла.

Так як большасць прыкладання не выклікаюць SSL_CTX_set_cert_verify_callback(), з'яўленне памылкі SSL_ERROR_WANT_RETRY_VERIFY можа быць няправільна вытлумачана і прывесці да аварыйнага завяршэння, зацыклявання ці іншых некарэктных рэакцый. Найбольшую небяспеку праблема ўяўляе ў камбінацыі з іншай памылкай у OpenSSL 3.0, якая прыводзіць да ўзнікнення ўнутранай памылкі пры апрацоўцы ў X509_verify_cert() сертыфікатаў без пашырэння "Subject Alternative Name", але з прывязкамі да імёнаў у абмежаваннях выкарыстання. У гэтым выпадку напад можа прывесці да залежных ад прыкладанняў анамалій пры апрацоўцы сертыфікатаў і ўсталёўцы сеансаў TLS.

Крыніца: opennet.ru

Дадаць каментар