OpenSSL 3.0.1 naujinimas ištaiso pažeidžiamumą

Galimi OpenSSL kriptografinės bibliotekos 3.0.1 ir 1.1.1m priežiūros leidimai. 3.0.1 versija pataiso pažeidžiamumą (CVE-2021-4044), o abiejuose leidimuose ištaisyta apie keliolika klaidų.

Pažeidžiamumas egzistuoja diegiant SSL/TLS klientus ir atsiranda dėl to, kad libssl biblioteka neteisingai apdoroja neigiamas klaidų kodų reikšmes, kurias grąžina funkcija X509_verify_cert(), kuri iškviečiama patikrinti serverio klientui perduotą sertifikatą. Neigiami kodai grąžinami, kai atsiranda vidinių klaidų, pavyzdžiui, jei neįmanoma skirti atminties buferiui. Jei tokia klaida grąžinama, vėlesni įvesties / išvesties funkcijų, pvz., SSL_connect() ir SSL_do_handshake(), iškvietimai grąžins gedimą ir klaidos kodą SSL_ERROR_WANT_RETRY_VERIFY, kuris turėtų būti grąžintas tik tuo atveju, jei programa anksčiau iškvietė SSL_CTX_set_cert()verify_callback. .

Kadangi dauguma programų neiškviečia SSL_CTX_set_cert_verify_callback(), SSL_ERROR_WANT_RETRY_VERIFY klaida gali būti neteisingai interpretuojama ir dėl to gali įvykti strigtis, ciklas ar kita netinkama elgsena. Problema pavojingiausia kartu su kita OpenSSL 3.0 klaida, dėl kurios atsiranda vidinė klaida, kai X509_verify_cert() apdoroja sertifikatus be plėtinio „Subject Alternative Name“, bet su vardo susiejimu naudojimo apribojimuose. Tokiu atveju ataka gali sukelti nuo programos priklausančių sertifikatų apdorojimo ir TLS seanso nustatymo anomalijų.

Šaltinis: opennet.ru

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