การอัปเดต OpenSSL 3.0.1 แก้ไขช่องโหว่

ไลบรารีการเข้ารหัส OpenSSL รุ่นแก้ไข 3.0.1 และ 1.1.1m พร้อมใช้งานแล้ว เวอร์ชัน 3.0.1 แก้ไขช่องโหว่ (CVE-2021-4044) และแก้ไขข้อบกพร่องประมาณหนึ่งโหลในทั้งสองรุ่น

ช่องโหว่ดังกล่าวมีอยู่ในการใช้งานไคลเอนต์ SSL/TLS และเกี่ยวข้องกับข้อเท็จจริงที่ว่าไลบรารี libssl จัดการรหัสข้อผิดพลาดเชิงลบที่ส่งคืนโดยฟังก์ชัน รหัสเชิงลบจะถูกส่งกลับเมื่อเกิดข้อผิดพลาดภายใน เช่น หากไม่สามารถจัดสรรหน่วยความจำสำหรับบัฟเฟอร์ได้ หากข้อผิดพลาดดังกล่าวถูกส่งกลับ การเรียกใช้ฟังก์ชัน I/O ในภายหลัง เช่น SSL_connect() และ SSL_do_handshake() จะส่งคืนความล้มเหลวและรหัสข้อผิดพลาด SSL_ERROR_WANT_RETRY_VERIFY ซึ่งควรส่งคืนเฉพาะเมื่อแอปพลิเคชันได้ทำการเรียก SSL_CTX_set_cert_verify_callback() ก่อนหน้านี้เท่านั้น

เนื่องจากแอปพลิเคชันส่วนใหญ่ไม่เรียกใช้ SSL_CTX_set_cert_verify_callback() การเกิดข้อผิดพลาด SSL_ERROR_WANT_RETRY_VERIFY อาจถูกตีความหมายผิดและส่งผลให้เกิดการหยุดทำงาน การวนซ้ำ หรือการตอบสนองที่ไม่ถูกต้องอื่นๆ ปัญหานี้เป็นอันตรายที่สุดเมื่อรวมกับข้อผิดพลาดอื่นใน OpenSSL 3.0 ซึ่งทำให้เกิดข้อผิดพลาดภายในเมื่อประมวลผลใบรับรองใน X509_verify_cert() โดยไม่มีส่วนขยาย "Subject Alternative Name" แต่มีการผูกชื่อในข้อจำกัดการใช้งาน ในกรณีนี้ การโจมตีสามารถนำไปสู่ความผิดปกติเฉพาะแอปพลิเคชันในการจัดการใบรับรองและการสร้างเซสชัน TLS

ที่มา: opennet.ru

เพิ่มความคิดเห็น