گوگل در تاریخ ۱۱ نوامبر، یک بهروزرسانی امنیتی را برای کانال Stable مرورگر Chrome در سیستمعاملهای ویندوز، مک و لینوکس منتشر کرد. این بهروزرسانی طی روزها و هفتههای آینده برای تمامی کاربران فعال خواهد شد.
این نسخه جدید، مرورگر را برای کاربران ویندوز و مک به ورژنهای 157.0.8103.78/.79 و برای کاربران لینوکس به ورژن 157.0.8103.78 ارتقا میدهد. در این بهروزرسانی، ۸۳ مورد نقص امنیتی برطرف شده است که ۵ مورد از آنها در سطح Critical (بحرانی) قرار دارند؛ این سطح، بالاترین درجه شدت برای آسیبپذیریهاست. نکته قابل توجه این است که این پَچ تنها دو روز پس از بهروزرسانی قبلی منتشر شده است.
روش بهروزرسانی
سادهترین راه، اجازه دادن به Chrome برای بهروزرسانی خودکار است. با این حال، در صورتی که مرورگر هرگز بسته نشود یا افزونهای (Extension) مانع از این فرآیند شود، ممکن است کاربر از نسخههای جدید عقب بماند. برای بهروزرسانی دستی، میتوان از منوی Settings یا Help به بخش About Google Chrome مراجعه کرد تا مرورگر بهطور خودکار نسخههای موجود را بررسی و دانلود کند. در نهایت، با کلیک بر روی Relaunch، تغییرات اعمال میشوند.
تحلیل فنی آسیبپذیریهای Use-After-Free
از آنجایی که هر ۵ آسیبپذیری بحرانی در این بهروزرسانی از نوع Use-After-Free (UAF) هستند، بررسی ماهیت این نقصها ضروری است.
آسیبپذیری Use-After-Free زمانی رخ میدهد که نرمافزار سعی میکند به بخشی از حافظه دسترسی پیدا کند که پیش از آن آزاد شده و برای استفاده مجدد رها شده است. در این حالت، برنامه همچنان یک ارجاع به مکان قدیمی حافظه دارد، اما شیء اصلی دیگر معتبر نیست و احتمالاً دادههای دیگری جایگزین آن شدهاند.
این ارجاع باقیمانده را «اشارهگر معلق» (Dangling Pointer) مینامند که نتیجه خطای مدیریت چرخه حیات اشیاء در حافظه است. این اتفاق میتواند به دلیل مدیریت نادرست مالکیت دادهها، خطاهای سیستمی در هنگام پردازش یا تداخل زمانی بین وظایف همزمان (Concurrency) رخ دهد.
پیامدهای این نقص امنیتی طیف گستردهای دارد؛ از کرش کردن برنامه و تخریب دادهها گرفته تا نشت اطلاعات و در موارد خطرناکتر، اجرای کد توسط مهاجم (RCE). خطر اصلی زمانی است که یک عامل تهدید بتواند محتوای جایگزین در حافظه آزاد شده را کنترل کرده و برنامه را فریب دهد تا آن دادههای مخرب را به عنوان دستورات معتبر اجرا کند.
به همین دلیل است که نقصهای UAF اغلب رتبه بحرانی دریافت میکنند، هرچند تأثیر نهایی به مؤلفه آسیبدیده، قابلیت اکسپلویت (Exploit) توسط مهاجم و لایههای حفاظتی موجود در سیستم بستگی دارد.