Glibc 2.32 سسٹم لائبریری ریلیز

چھ ماہ کی ترقی کے بعد شائع سسٹم لائبریری کی رہائی جی این یو سی لائبریری (glibc) 2.32جو ISO C11 اور POSIX.1-2017 کے تقاضوں کی مکمل تعمیل کرتا ہے۔ نئی ریلیز میں 67 ڈویلپرز کی اصلاحات شامل ہیں۔

Glibc 2.32 میں لاگو کیا گیا۔ بہتری آپ نوٹ کرسکتے ہیں:

  • Synopsys ARC HS (ARCv2 ISA) پروسیسرز کے لیے شامل کردہ تعاون۔ پورٹ کو چلانے کے لیے کم از کم binutils 2.32، gcc 8.3 اور Linux kernel 5.1 کی ضرورت ہوتی ہے۔ ABI کی تین مختلف حالتیں سپورٹ ہیں: arc-linux-gnu، arc-linux-gnuhf اور arceb-linux-gnu (بڑا اینڈین)؛
  • سیکشنز DT_AUDIT اور میں بیان کردہ آڈٹ ماڈیولز کی لوڈنگ
    قابل عمل فائل کا DT_DEPAUDIT۔

  • Powerpc64le فن تعمیر کے لیے، IEEE128 لمبی ڈبل قسم کے لیے سپورٹ نافذ کیا جاتا ہے، جو "-mabi=ieeelongdouble" آپشن کے ساتھ تعمیر کرتے وقت فعال ہوتا ہے۔
  • کچھ APIs کو GCC 'رسائی' وصف کے ساتھ تشریح کیا جاتا ہے، جو GCC 10 میں مرتب ہونے پر بہتر انتباہات پیدا کرنے کی اجازت دیتا ہے تاکہ ممکنہ بفر اوور فلو اور دیگر حد سے باہر کے منظرناموں کا پتہ لگایا جا سکے۔
  • لینکس سسٹمز کے لیے فنکشنز pthread_attr_setsigmask_np اور
    pthread_attr_getsigmask_np، جو ایپلیکیشن کو pthread_create کا استعمال کرتے ہوئے بنائے گئے تھریڈز کے لیے سگنل ماسک کی وضاحت کرنے کی صلاحیت فراہم کرتا ہے۔

  • یونیکوڈ 13.0.0 تفصیلات کو سپورٹ کرنے کے لیے انکوڈنگ ڈیٹا، کریکٹر کی قسم کی معلومات، اور ٹرانسلیٹریشن ٹیبلز کو اپ ڈیٹ کر دیا گیا ہے۔
  • نئی ہیڈر فائل شامل کی گئی۔ ، جو __libc_single_threaded متغیر کی وضاحت کرتا ہے، جو سنگل تھریڈڈ آپٹیمائزیشن کے لیے ایپلی کیشنز میں استعمال کیا جا سکتا ہے۔
  • شامل کیے گئے فنکشنز sigabbrev_np اور sigdescr_np جو سگنل کا مختصر نام اور تفصیل واپس کرتے ہیں (مثال کے طور پر، SIGHUP کے لیے "HUP" اور "Hangup")۔
  • شامل کردہ فنکشنز strerrorname_np اور strerrordesc_np جو خرابی کا نام اور تفصیل واپس کرتے ہیں (مثال کے طور پر، EINVAL کے لیے "EINVAL" اور "Invalid argument")۔
  • ARM64 پلیٹ فارم کے لیے، ایک "-enable-standard-branch-protection" جھنڈا شامل کیا گیا ہے (یا -mbranch-protection=standard in GCC)، جو ARMv8.5-BTI (برانچ ٹارگٹ انڈیکیٹر) میکانزم کو تحفظ فراہم کرتا ہے۔ انسٹرکشن سیٹس پر عمل درآمد جس پر عمل نہیں کیا جانا چاہیے۔ برانچنگ ٹرانزیشن۔ کوڈ کے صوابدیدی حصوں میں منتقلی کو مسدود کرنا ان استحصالوں میں گیجٹس کی تخلیق کو روکنے کے لیے لاگو کیا جاتا ہے جو واپسی پر مبنی پروگرامنگ تکنیک (ROP - Return-Oriented Programming؛ حملہ آور اپنے کوڈ کو میموری میں رکھنے کی کوشش نہیں کرتا، بلکہ پہلے سے موجود ٹکڑوں پر کام کرتا ہے۔ مشین کی ہدایات جو کہ واپسی کنٹرول کی ہدایات کے ساتھ ختم ہوتی ہیں، جس سے مطلوبہ فعالیت حاصل کرنے کے لیے کالوں کا سلسلہ بنایا جاتا ہے)۔
  • پرانی خصوصیات کی ایک بڑی صفائی کی گئی ہے، بشمول "--enable-متروک-rpc" اور "--enable-متروک-nsl" کے اختیارات، ہیڈر فائل کو ہٹانا . فنکشنز sstk، siginterrupt، sigpause، sighold، sigrelse، sigignore اور sigset، arrays sys_siglist، _sys_siglist اور sys_sigabbrev، sys_errlist، _sys_errlist، sys_errlist، _sys_errlist، اور sys_pred اور sys_pred، sys_pred اور sys_siglist کے فنکشنز ہیں۔ کیٹڈ
  • ldconfig کو نئے ld.so.cache فارمیٹ کو استعمال کرنے کے لیے بطور ڈیفالٹ منتقل کر دیا گیا ہے، جو تقریباً 20 سالوں سے glibc میں سپورٹ کر رہا ہے۔
  • کمزوریاں طے کی گئیں:
    • CVE-2016-10228 - iconv یوٹیلیٹی میں ایک لوپ اس وقت ہوتا ہے جب غلط ملٹی بائٹ ڈیٹا پر کارروائی کرتے وقت "-c" آپشن کے ساتھ چلایا جاتا ہے۔
    • CVE-2020-10029 سیوڈو-نل دلیل کے ساتھ مثلثی فنکشنز کو کال کرتے وقت کرپشن کو اسٹیک کریں۔
    • CVE-2020-1752 - راستوں میں ہوم ڈائرکٹری ("~صارف") کے حوالے کو بڑھاتے وقت گلوب فنکشن میں استعمال کے بعد مفت میموری تک رسائی۔
    • CVE-2020-6096 - memcpy() اور memmove() میں منفی پیرامیٹر اقدار کے ARMv7 پلیٹ فارم پر غلط ہینڈلنگ، جو کاپی شدہ علاقے کے سائز کا تعین کرتا ہے۔ اجازت دیتا ہے memcpy() اور memmove() فنکشنز میں کسی خاص طریقے سے فارمیٹ شدہ ڈیٹا پر کارروائی کرتے وقت کوڈ پر عمل درآمد کو منظم کریں۔ یہ اہم ہے کہ مسئلہ رہ گیا معلومات کے عوامی طور پر ظاہر ہونے کے بعد سے تقریباً دو ماہ تک اور Glibc کے ڈویلپرز کو مطلع کیے جانے کے پانچ ماہ بعد سے درست نہیں۔

ماخذ: opennet.ru

نیا تبصرہ شامل کریں