OpenSSL یک پروژه نرم افزار رایگان بر اساس SSLeay است. این شامل یک بسته قوی از کتابخانه های مرتبط با رمزنگاری و ابزارهای مدیریتی است که عملکردهای رمزنگاری را برای بسته های دیگر مانند OpenSSH و مرورگرهای وب فراهم می کند.
در انتشار نسخه های اصلاحی جدید OpenSSL (3.0.8، 1.1.1t) که در آن یک آسیب پذیری خطرناک را برطرف کرد (CVE-2023-0286) که به محتویات مناطق دلخواه حافظه پردازشی اجازه می دهد هنگام پردازش یک فرآیند کنترل شده توسط لیست ابطال گواهی مهاجم (CRL) یا توکن مهر زمانی به دست آید.
آسیب پذیری ناشی از سردرگمی نوع است هنگام پردازش یک آدرس X.400 در پسوند X.509 GeneralName.
به طور خاص، یک آدرس X.400 با نوع ASN1_STRING تجزیه شد، در حالی که فیلد x400Address در ساختار GENERAL_NAME با نوع ASN1_TYPE تجزیه شد، که منجر به مقایسه (GENERAL_NAME_cmp) با ASN1_TYPE به جای ASN1_STRING شد. هنگامی که بررسی لیست ابطال گواهی فعال است (با تنظیم پرچم X509_V_FLAG_CRL_CHECK در برنامه)، این آسیب پذیری به مهاجم اجازه می دهد تا نشانگرهای دلخواه را به تابع memcmp ارسال کند، که می تواند برای خواندن محتویات حافظه یا شروع پایان غیرعادی فرآیند استفاده شود. .
در اکثر مواقع، یک مهاجم باید بر لیست ابطال گواهی کنترل داشته باشد (CRL) و زنجیره اعتماد از گواهی برای انجام یک حمله موفقیت آمیز استفاده می شود.
همچنین در صورت کنترل یکی از عناصر مشخص شده می توان حمله کرد، اما در این مورد، آدرس X.400 باید به عنوان نقطه توزیع CRL ظاهر شود که بسیار نادر است. از این نظر، فرض بر این است که آسیبپذیری عمدتاً بر برنامههایی تأثیر میگذارد که از پیادهسازی خود از عملکرد دانلود CRL در شبکه استفاده میکنند.
علاوه بر مشکل مورد بحث، OpenSSL 3.0.8 همچنین چندین آسیب پذیری را برطرف می کند کم خطرتر:
- CVE-2022-4304: یک حمله کانال جانبی است که امکان تعیین داده های منبع را با اندازه گیری تاخیرهای شبکه در هنگام اجرای عملیات RSA با استفاده از حالت های انتشار افزایشی PKCS#1 v1.5، RSA-OEAP و RSASVE فراهم می کند. حمله نوعی از روش Bleichenbacher است که ماهیت آن این است که مهاجم، بر اساس واکنش متفاوت از سرور، میتواند بلوکهای Oracle را که برای تراز کردن دادههای رمزگذاری شده در امتداد مرز بلوک استفاده میشوند، جدا کند. یک حمله موفق مستلزم ارسال تعداد زیادی پیام کاوشگر برای رمزگشایی است.
از جنبه عملی، به عنوان مثال، یک حمله می تواند برای تعیین راز اصلی یک اتصال TLS استفاده شود، که مشتری آن را به صورت رمزگذاری شده به سرور منتقل می کند. یک مهاجم با توانایی رهگیری ارتباط بین کلاینت و سرور می تواند با ارسال تعداد زیادی پیام آزمایشی به سرور و تجزیه و تحلیل زمان پردازش آنها، مقدار رمز اصلی را بازیابی کند. هنگامی که راز اصلی مشخص شد، مهاجم می تواند داده های ارسال شده از طریق اتصال TLS مورد نظر را رمزگشایی کند. - CVE-2022-4203: هنگام تأیید گواهیهای X.509 با فیلد نام سفارشی، بافر خارج از محدوده را بخوانید. حمله می تواند برنامه را خراب کند یا محتوای حافظه یک فرآیند را در سمت کلاینت در صورتی که به سروری که توسط مهاجم کنترل می شود وصل شود، یا در سمت سرور اگر سرور از یک کلاینت کنترل شده توسط مهاجم درخواست احراز هویت کند، در سمت سرور منتشر کند.
- CVE-2023-0216: هنگام مدیریت داده های PKCS2 فرمت شده خاص، مرجع اشاره گر نادرست در توابع d7i_PKCS2()، d7i_PKCS2_bio() و d7i_PKCS7_fp() وجود ندارد. این آسیبپذیری میتواند باعث از کار افتادن فرآیند شود.
- CVE-2023-0217: عدم ارجاع نشانگر NULL هنگام بررسی کلید عمومی DSA در تابع EVP_PKEY_public_check().
- CVE-2023-0215: دسترسی آزاد به یک ناحیه حافظه در تابع BIO_new_NDEF که برای انتقال داده های ASN.1 از طریق رابط BIO استفاده می شود.
- CVE-2022-4450: پس از فراخوانی تابع PEM_read_bio_ex، حافظه را دو برابر کنید.
- CVE-2023-0401: عدم ارجاع نشانگر NULL هنگام اعتبارسنجی داده های PKCS7.
از 4 آسیب پذیری آخر، فرض بر این است که آنها به توانایی شروع یک خاتمه غیرعادی فرآیند محدود می شوند.
در نهایت، اگر علاقه مند به دانستن بیشتر در مورد این نسخه جدید هستید، می توانید جزئیات را در اینجا بررسی کنید لینک زیر
اولین کسی باشید که نظر