یک آسیبپذیری امنیتی در کتابخانه wolfSSL شناسایی شده است که به دلیل مدیریت نادرست در فرآیند بررسی امضای گواهینامهها (Certificate Signature) رخ میدهد. این مشکل زمانی رخ میدهد که گزینه WOLFSSL_SMALL_CERT_VERIFY فعال باشد.
تحلیل فنی نقص
در این حالت، تابع ProcessPeerCertParse() برای کاهش مصرف حافظه (Peak Memory)، عملیات بررسی امضا را بهصورت مجزا از فرآیند تجزیه (Parse) انجام میدهد و سپس نتایج این دو را با یکدیگر ادغام میکند. با این حال، یک نقص منطقی در کد وجود دارد: نتیجه بررسی امضا تنها زمانی به نتیجه نهایی بازگردانده میشود که عملیات Parse مقدار 0 (بدون خطا) را برگرداند.
پیامدهای امنیتی
این رفتار باعث میشود که هرگونه خطای رخ داده در مرحله Parse، منجر به پنهان شدن نتیجه بررسی امضا شود. از آنجایی که تابع ParseCertRelative() تنها پس از تایید موفقیتآمیز ConfirmSignature() به بررسیهای مربوط به تاریخ اعتبار (Validity-date)، محدودیتهای نام (Name-constraint) و افزونههای حیاتی (Critical-extension) میرسد، جداسازی بررسی امضا باعث تغییر اولویتهای اعتبارسنجی میشود. این موضوع میتواند منجر به پذیرش گواهینامههای نامعتبر یا نادیده گرفتن خطاهای تاریخ اعتبار شود.