Pembaruan OpenSSL 3.0.1 memperbaiki kerentanan

Rilis pemeliharaan perpustakaan kriptografi OpenSSL 3.0.1 dan 1.1.1m telah tersedia. Versi 3.0.1 memperbaiki kerentanan (CVE-2021-4044), dan sekitar selusin bug telah diperbaiki di kedua rilis.

Kerentanan ada dalam implementasi klien SSL/TLS dan disebabkan oleh fakta bahwa perpustakaan libssl salah menangani nilai kode kesalahan negatif yang dikembalikan oleh fungsi X509_verify_cert(), yang dipanggil untuk memverifikasi sertifikat yang diteruskan ke klien oleh server. Kode negatif dikembalikan ketika terjadi kesalahan internal, misalnya, jika tidak mungkin mengalokasikan memori untuk buffer. Jika kesalahan tersebut dikembalikan, panggilan berikutnya ke fungsi I/O seperti SSL_connect() dan SSL_do_handshake() akan mengembalikan kegagalan dan kode kesalahan SSL_ERROR_WANT_RETRY_VERIFY, yang hanya akan dikembalikan jika aplikasi sebelumnya telah melakukan panggilan ke SSL_CTX_set_cert_verify_callback() .

Karena sebagian besar aplikasi tidak memanggil SSL_CTX_set_cert_verify_callback(), terjadinya kesalahan SSL_ERROR_WANT_RETRY_VERIFY mungkin disalahartikan dan mengakibatkan crash, loop, atau perilaku salah lainnya. Masalahnya paling berbahaya jika dikombinasikan dengan bug lain di OpenSSL 3.0, yang menyebabkan kesalahan internal saat X509_verify_cert() memproses sertifikat tanpa ekstensi β€œNama Alternatif Subjek”, tetapi dengan pengikatan nama dalam batasan penggunaan. Dalam kasus ini, serangan tersebut dapat mengakibatkan anomali yang bergantung pada aplikasi dalam pemrosesan sertifikat dan pembuatan sesi TLS.

Sumber: opennet.ru

Tambah komentar