آسیب پذیری اجرای کد راه دور StrongSwan IPsec

strongSwan 5.9.10 اکنون در دسترس است، یک بسته رایگان برای ایجاد اتصالات VPN بر اساس پروتکل IPSec که در Linux، Android، FreeBSD و macOS استفاده می شود. نسخه جدید یک آسیب پذیری خطرناک (CVE-2023-26463) را که می تواند برای دور زدن احراز هویت استفاده شود، حذف می کند، اما به طور بالقوه می تواند منجر به اجرای کد مهاجم در سمت سرور یا مشتری شود. این مشکل هنگام تأیید گواهی‌های طراحی شده ویژه در روش‌های احراز هویت EAP مبتنی بر TLS (پروتکل تأیید اعتبار توسعه‌پذیر) رخ می‌دهد.

این آسیب‌پذیری ناشی از پذیرش نادرست کلیدهای عمومی از گواهی همتا توسط کنترل‌کننده TLS است و حتی اگر گواهی با موفقیت تأیید نشود، آنها را قابل اعتماد می‌داند. به طور خاص، هنگام فراخوانی تابع ()tls_find_public_key، انتخابی بر اساس نوع کلید عمومی برای تعیین اینکه کدام گواهی‌ها قابل اعتماد هستند استفاده می‌شود. مشکل این است که متغیر مورد استفاده برای تعیین نوع کلید برای عملیات جستجو به هر حال تنظیم شده است، حتی اگر گواهی قابل اعتماد نباشد.

علاوه بر این، با دستکاری کلید، می‌توانید شمارنده مرجع را کاهش دهید (اگر گواهی قابل اعتماد نباشد، پس از تعیین نوع کلید، ارجاع به شی آزاد می‌شود) و با کلید حافظه را برای شیء در حال استفاده آزاد کنید. این نقص ایجاد سوء استفاده برای نشت اطلاعات از حافظه و اجرای کد سفارشی را حذف نمی کند.

حمله به سرور از طریق ارسال یک گواهی امضا شده توسط مشتری برای احراز هویت مشتری با استفاده از روش‌های EAP-TLS، EAP-TTLS، EAP-PEAP و EAP-TNC انجام می‌شود. حمله به کلاینت را می توان از طریق سروری انجام داد که گواهی طراحی شده ویژه را برمی گرداند. این آسیب پذیری در نسخه های 5.9.8 و 5.9.9 strongSwan ظاهر می شود. انتشار به‌روزرسانی‌های بسته در توزیع‌ها را می‌توان در صفحات: Debian، Ubuntu، Gentoo، RHEL، SUSE، Arch، FreeBSD، NetBSD دنبال کرد.

منبع: opennet.ru

اضافه کردن نظر