OpenSSL 3.0.1 թարմացումը շտկում է խոցելիությունը

Հասանելի են OpenSSL ծածկագրային գրադարանի 3.0.1 և 1.1.1m ուղղիչ թողարկումները: 3.0.1 տարբերակը շտկել է խոցելիությունը (CVE-2021-4044), և երկու թողարկումներում շտկվել են մոտ մեկ տասնյակ սխալներ:

Խոցելիությունը առկա է SSL/TLS հաճախորդների ներդրման մեջ և կապված է այն փաստի հետ, որ libssl գրադարանը սխալ է մշակում X509_verify_cert() ֆունկցիայի կողմից վերադարձված բացասական սխալի կոդերը, որոնք կոչված են ստուգելու սերվերի կողմից հաճախորդին փոխանցված վկայականը: Բացասական կոդերը վերադարձվում են, երբ տեղի են ունենում ներքին սխալներ, օրինակ, եթե հիշողությունը չի կարող հատկացվել բուֆերի համար: Եթե ​​նման սխալ վերադարձվի, հաջորդ զանգերը դեպի I/O ֆունկցիաներ, ինչպիսիք են SSL_connect() և SSL_do_handshake() ձախողումը և SSL_ERROR_WANT_RETRY_VERIFY սխալի կոդը, որը պետք է վերադարձվի միայն այն դեպքում, եթե հավելվածը նախկինում զանգ է կատարել SSL_CTX_set_callback(verify_):

Քանի որ հավելվածների մեծ մասը չի կանչում SSL_CTX_set_cert_verify_callback(), SSL_ERROR_WANT_RETRY_VERIFY սխալի առաջացումը կարող է սխալ մեկնաբանվել և հանգեցնել խափանման, հանգույցի կամ այլ սխալ պատասխանի: Խնդիրն առավել վտանգավոր է OpenSSL 3.0-ի մեկ այլ սխալի հետ համատեղ, որը ներքին սխալ է առաջացնում X509_verify_cert()-ում վկայագրերը մշակելիս՝ առանց «Subject Alternative Name» ընդլայնման, բայց օգտագործման սահմանափակումներում անունների հետ կապված: Այս դեպքում հարձակումը կարող է հանգեցնել հավելվածին հատուկ անոմալիաների վկայականի մշակման և TLS նիստի հաստատման մեջ:

Source: opennet.ru

Добавить комментарий