OpenSSL 3.0.1 atjauninājums novērš ievainojamību

Ir pieejami OpenSSL kriptogrāfijas bibliotēkas 3.0.1 un 1.1.1m koriģējošie laidieni. Versijā 3.0.1 tika novērsta ievainojamība (CVE-2021-4044), un abos laidienos tika novērstas aptuveni ducis kļūdu.

Ievainojamība pastāv SSL/TLS klientu ieviešanā, un tā ir saistīta ar faktu, ka libssl bibliotēka nepareizi apstrādā negatīvos kļūdu kodus, ko atgriezusi funkcija X509_verify_cert(), kas izsaukta, lai pārbaudītu servera klientam nosūtīto sertifikātu. Negatīvie kodi tiek atgriezti, ja rodas iekšējas kļūdas, piemēram, ja buferim nevar piešķirt atmiņu. Ja tiek atgriezta šāda kļūda, nākamie I/O funkciju izsaukumi, piemēram, SSL_connect() un SSL_do_handshake(), atgriezīs kļūmi un SSL_ERROR_WANT_RETRY_VERIFY kļūdas kodu, kas jāatdod tikai tad, ja lietojumprogramma iepriekš ir izsaukusi SSL_CTX_set_cert(verify_callback).

Tā kā lielākā daļa lietojumprogrammu neizsauc SSL_CTX_set_cert_verify_callback(), kļūdas SSL_ERROR_WANT_RETRY_VERIFY rašanos var nepareizi interpretēt un izraisīt avāriju, cilpu vai citu nepareizu atbildi. Problēma ir visbīstamākā kombinācijā ar citu OpenSSL 3.0 kļūdu, kas izraisa iekšēju kļūdu, apstrādājot sertifikātus X509_verify_cert() bez paplašinājuma "Subject Alternative Name", bet ar nosaukumu saistījumiem lietošanas ierobežojumos. Šādā gadījumā uzbrukums var izraisīt lietojumprogrammām specifiskas novirzes sertifikātu apstrādē un TLS sesijas izveidē.

Avots: opennet.ru

Pievieno komentāru