از دست رفتن کل دادههای HSTS در curl!
curl یک کتابخانه و ابزار خط فرمان میباشد که جهت انتقال دادهها با استفاده از پروتکلهای مختلف شبکه بکار گرفته میشود و دارای آسیبپذیری با شناسه CVE-2023-46219 میباشد. این نقص امنیتی به شکلی عمل میکند که تلاش برای ذخیره داده HSTS در فایلی با نام طولانی منجر به پاک شدن و از دست رفتن کل دادهها خواهد شد. این مسئله موجب میشود درخواستهای بعدی مبتنی بر آن فایل، بدون در نظر گرفتن وضعیت دادهی HSTS که قبلا وارد شده بود انجام پذیرند. داده HSTS (HTTP Strict-Transport-Security) به مرورگرها اطلاع میدهد که سایت فقط باید با استفاده از HTTPS (نوع امنیتیافته پروتکل HTTP) قابل دسترسی باشد و هرگونه تلاش جهت دسترسی به آن با استفاده از HTTP باید به طور خودکار به HTTPS تبدیل شود.
علت وقوع این نقص ناشی از آن است که تابع ذخیرهسازی، ابتدا یک پسوند به انتهای نام فایل اضافه کرده، سپس یک فایل موقت ایجاد میکند و نهایتأ نام آن را به نام نهایی تغییر میدهد. هنگامی که طول رشته نام، به سقف مجاز در فایلسیستم برسد، اضافه کردن داده به این فایل منجر به از دست رفتن کل محتوای فایل میشود.
محصولات تحت تأثیر
نسخههای7.84.0 تا 8.4.0 نسبت به این نقص امنیتی آسیبپذیر میباشند و در نسخههای قبل و بعد از آنها، نقصی امنیتی خاصی مشاهده نشده است. این نقص هنگام استفاده از curl به عنوان کتابخانه و همچین در خط فرمان موجود است.
توصیههای امنیتی
• ارتقاء به نسخه 8.5.0 و همچنین نامگذاری فایل موقت با استفاده از یک دنباله تصادفی از حروف.
• توسعهدهندگان curl توصیه کردهاند که بهتر است برای نسخهی درحال استفاده، از وصله ارائه شده استفاده کرد و از به کار بردن HSTS پرهیز شود.