zlib لائبریری میں ایک کمزوری (CVE-2018-25032) کی نشاندہی کی گئی ہے، جس کے نتیجے میں آنے والے ڈیٹا میں حروف کی خصوصی طور پر تیار کردہ ترتیب کو کمپریس کرنے کی کوشش کرتے وقت بفر اوور فلو ہوتا ہے۔ اس کی موجودہ شکل میں، محققین نے کسی عمل کو غیر معمولی طور پر ختم کرنے کی صلاحیت کا مظاہرہ کیا ہے۔ آیا اس مسئلے کے مزید سنگین نتائج ہو سکتے ہیں اس کا ابھی تک مطالعہ نہیں کیا گیا ہے۔
کمزوری zlib ورژن 1.2.2.2 سے شروع ہوتی ہے اور موجودہ zlib ریلیز، 1.2.11 کو متاثر کرتی ہے۔ یہ بات قابل غور ہے کہ 2018 میں کمزوری کو ٹھیک کرنے والے پیچ کی تجویز پیش کی گئی تھی، لیکن ڈویلپرز نے اسے نظر انداز کر دیا اور اصلاحی ریلیز جاری نہیں کی (zlib لائبریری کو آخری بار 2017 میں اپ ڈیٹ کیا گیا تھا)۔ فکس ابھی تک ڈسٹری بیوشن پیکجز میں شامل نہیں ہے۔ آپ مندرجہ ذیل صفحات پر تقسیم کے ذریعہ پیچ کی رہائی کو ٹریک کرسکتے ہیں: Debian, RHEL, Fedora, SUSE, Ubuntu، محراب Linuxاوپن بی ایس ڈی، فری بی ایس ڈی، نیٹ بی ایس ڈی۔ zlib-ng لائبریری اس مسئلے سے متاثر نہیں ہے۔
کمزوری اس وقت ہوتی ہے جب ان پٹ سٹریم میں پیک کیے جانے والے میچز کی ایک بڑی تعداد ہوتی ہے، جس پر فکسڈ ہف مین کوڈز کی بنیاد پر پیکنگ لاگو ہوتی ہے۔ بعض حالات میں، انٹرمیڈیٹ بفر کے مواد جس میں کمپریسڈ نتیجہ رکھا جاتا ہے اس میموری کو اوورلیپ کر سکتا ہے جس میں علامت فریکوئنسی ٹیبل کو محفوظ کیا جاتا ہے۔ نتیجے کے طور پر، غلط کمپریسڈ ڈیٹا تیار ہوتا ہے اور بفر باؤنڈری سے باہر لکھنے کی وجہ سے کریش ہو جاتا ہے۔
فکسڈ ہف مین کوڈز پر مبنی کمپریشن حکمت عملی کے ذریعے ہی کمزوری کا فائدہ اٹھایا جا سکتا ہے۔ اسی طرح کی حکمت عملی کا انتخاب اس وقت کیا جاتا ہے جب Z_FIXED آپشن کو کوڈ میں واضح طور پر فعال کیا جاتا ہے (ایک ترتیب کی مثال جو Z_FIXED آپشن استعمال کرتے وقت کریش کا باعث بنتی ہے)۔ کوڈ کے لحاظ سے، Z_FIXED حکمت عملی بھی خود بخود منتخب کی جا سکتی ہے اگر ڈیٹا کے لیے شمار کیے گئے بہترین اور جامد درختوں کا سائز ایک جیسا ہو۔
یہ ابھی تک واضح نہیں ہے کہ آیا پہلے سے طے شدہ Z_DEFAULT_STRATEGY کمپریشن حکمت عملی کا استعمال کرتے ہوئے کمزوری کا فائدہ اٹھایا جا سکتا ہے۔ اگر نہیں، تو خطرہ مخصوص سسٹمز تک محدود ہوگا جو واضح طور پر Z_FIXED آپشن استعمال کرتے ہیں۔ اگر ایسا ہے تو، خطرے سے ہونے والا نقصان بہت اہم ہو سکتا ہے، کیونکہ zlib لائبریری ڈی فیکٹو اسٹینڈرڈ ہے اور کئی مشہور پروجیکٹس میں استعمال ہوتی ہے، بشمول کرنل۔ Linux, OpenSSH, OpenSSL, apache httpd, libpng, FFmpeg, rsync, dpkg, rpm, Git, PostgreSQL, MySQL, وغیرہ۔
ماخذ: opennet.ru
