OpenSSLپروژه OpenSSL برای رفع چندین نقص امنیتی، ازجمله یک باگ با شدت بالا در جعبه‌ابزار رمزگذاری منبع باز که به‌طور بالقوه می‌تواند کاربران را در معرض حملات مخرب قرار دهد، اصلاحاتی منتشر کرده است.

سازندگان در توصیه‌ای گفتند، این مشکل که به‌عنوان CVE-2023-0286 ردیابی می‌شود، به یک مورد type confusion مربوط می‌شود که ممکن است به دشمن اجازه دهد «محتوای حافظه را بخواند یا یک denial-of-service را صادر کند».

این آسیب‌پذیری ریشه در روشی دارد که کتابخانه رمزنگاری محبوب[۱] گواهی‌های X.509 را مدیریت می‌کند، و احتمالاً فقط بر برنامه‌هایی تأثیر می‌گذارد که پیاده‌سازی سفارشی برای بازیابی فهرست لغو گواهی[۲] (CRL) از طریق شبکه دارند.

OpenSSL دراین‌باره گفت[۳]: “در بیشتر موارد، حمله مهاجم را ملزم می‌کند که هم زنجیره گواهی و هم CRL را ارائه کند، که هیچ‌یک از آن‌ها نیاز به امضای معتبر ندارند. اگر مهاجم فقط یکی از این ورودی‌ها را کنترل کند، ورودی دیگر باید قبلاً حاوی یک آدرس X.400 به‌عنوان نقطه توزیع CRL باشد، که غیرمعمول است.”

نقص‌های type confusion می‌تواند عواقب جدی[۴] داشته باشد، زیرا می‌توان از آن‌ها استفاده کرد تا عمداً برنامه را مجبور به رفتار ناخواسته کند و احتمالاً باعث خرابی یا اجرای کد شود.

این مشکل در نسخه‌های OpenSSL 3.0.8، ۱٫۱٫۱t و ۱٫۰٫۲zg اصلاح شده است. سایر نقص‌های امنیتی که به‌عنوان بخشی از آخرین به‌روزرسانی‌ها برطرف شده‌اند[۵] عبارت‌اند از:

  • CVE-2022-4203- X.509 Name Constraints Read Buffer Overflow
  • CVE-2022-4304- Timing Oracle in RSA Decryption
  • CVE-2022-4450- Double free after calling PEM_read_bio_ex
  • CVE-2023-0215- Use-after-free following BIO_new_NDEF
  • CVE-2023-0216- Invalid pointer dereference in d2i_PKCS7 functions
  • CVE-2023-0217- NULL dereference validating DSA public key
  • CVE-2023-0401- NULL dereference during PKCS7 data verification

بهره‌برداری موفقیت‌آمیز از نقص‌های فوق می‌تواند منجر به خرابی برنامه، افشای محتوای حافظه و حتی بازیابی پیام‌های متن ساده ارسال‌شده از طریق شبکه با بهره‌گیری از کانال جانبی مبتنی بر زمان‌بندی[۶] در حمله به سبک Bleichenbacher شود[۷].

این اصلاحات تقریباً دو ماه پس از اتصال OpenSSL به یک نقص با شدت کم (CVE-2022-3996) که هنگام پردازش گواهی X.509 ایجاد می‌شود و منجر به شرایط denial-of-service می‌شود، به دست می‌آیند.

منابع

[۱] https://apa.aut.ac.ir/?p=9302

[۲] https://en.wikipedia.org/wiki/Certificate_revocation_list

[۳] https://www.openssl.org/news/vulnerabilities.html

[۴] https://cwe.mitre.org/data/definitions/843.html

[۵] https://www.openssl.org/news/secadv/20230207.txt

[۶] https://nakedsecurity.sophos.com/2023/02/08/openssl-fixes-high-severity-data-stealing-bug-patch-now

[۷] https://thehackernews.com/2022/06/researchers-uncover-ways-to-break.html

[۸] https://thehackernews.com/2023/02/openssl-fixes-multiple-new-security.html