Glibc 2.35 سسٽم لائبريري رليز

ڇهن مهينن جي ترقي کان پوء، GNU C لائبريري (glibc) 2.35 سسٽم لائبريري جاري ڪئي وئي آهي، جيڪا مڪمل طور تي ISO C11 ۽ POSIX.1-2017 معيارن جي گهرجن سان مطابقت رکي ٿي. نئين رليز ۾ 66 ڊولپرز کان فيڪس شامل آهن.

Glibc 2.35 ۾ لاڳو ڪيل ڪجھ سڌارن ۾ شامل آھن:

  • "C.UTF-8" لوڪل لاءِ سپورٽ شامل ڪئي وئي، جنهن ۾ سڀني يونيڪوڊ ڪوڊز لاءِ ڪوليشن ضابطا شامل آهن، پر خلا بچائڻ لاءِ fnmatch، regexec ۽ regcomp ڪمن ۾ ASCII رينجز جي استعمال تائين محدود آهي. لوڪل اٽڪل 400 KB آهي، جنهن مان 346 KB يونيڪوڊ لاءِ LC_CTYPE ڊيٽا آهي، ۽ هڪ الڳ انسٽاليشن جي ضرورت آهي (Glibc ۾ ٺهيل ناهي).
  • يونيڪوڊ 14.0.0 وضاحتن کي سپورٽ ڪرڻ لاءِ انڪوڊنگ ڊيٽا، ڪردار جي قسم جي معلومات، ۽ ترجمي جي جدولن کي اپڊيٽ ڪيو ويو آهي.
  • IN ۽ فنڪشن ۽ ميڪروس لاڳو ڪيا ويا آهن جيڪي گول نتيجن کي هڪ تنگ قسم تائين پهچائين ٿا: fsqrt, fsqrtl, dsqrtl, ffma, ffmal, dfmal, fMsqrtfN, fMsqrtfNx, fMxsqrtfN, fMxsqrtfNx, fMfmafN, fMfmafN, fMfxMx, fMfmafN, fMfx. فنڪشن وضاحتن ۾ بيان ڪيا ويا آهن TS 18661-1: 2014، TS 18661-3: 2015 ۽ مستقبل جي ISO C2X C معيار جي مسودي ۾ شامل ڪيا ويا آهن.
  • IN ۽ IEEE 754-2019 جي وضاحتن ۾ بيان ڪيل فلوٽ، ڊبل ڊبل، _FloatN ۽ _FloatNx جي قسمن سان گهٽ ۾ گهٽ ۽ وڌ ۾ وڌ فلوٽنگ پوائنٽ نمبر ڳولڻ لاءِ ڪم ۽ ميڪرو لاڳو ڪيا ويا آهن ۽ مستقبل جي ISO C2X C معيار جي مسودي ۾ شامل ڪيا ويا آهن: fmaximum, fmaximum_num , fmaximum_mag, fmaximum_mag_num, fminimum, fminimum_num, fminimum_mag, fminimum_mag_num.
  • IN سنگل درست سچل پوائنٽ نمبرن لاءِ مستقل شامل ڪيا ويا: M_Ef, M_LOG2Ef, M_LOG10Ef, M_LN2f, M_LN10f, M_PIf, M_PI_2f, M_PI_4f, M_1_PIf, M_2_PIf, M_2_SQRTS_f2f, M_1_SQRTS_f2f, M_XNUMX_SQRTS_fXNUMX,
  • هيڊر فائل ۾ exp10 افعال لاءِ شامل ڪيل لاڳاپيل ميڪرو جيڪي مخصوص قسمن سان ڳنڍيل نه آهن.
  • IN شامل ڪيو ويو _PRINTF_NAN_LEN_MAX ميڪرو تجويز ڪيل ISO C2X معيار ۾.
  • شامل ڪيو ويو "%b" ۽ "%B" فارميٽ جي وضاحت ڪندڙن کي بائنري نمائندگي ۾ انگن اکرن کي پرنٽ ڪرڻ لاءِ افعال جي printf خاندان ۾.
  • متحرڪ ڳنڍڻ وارو نظام هڪ نئون DSO ترتيب ڏيڻ وارو الگورتھم لاڳو ڪري ٿو جيڪو استعمال ڪري ٿو ڊيپٿ فرسٽ سرچ (DFS) ڪارڪردگي جي مسئلن کي حل ڪرڻ لاءِ جڏهن لوپ ٿيل انحصار کي سنڀاليو. DSO ترتيب ڏيڻ واري الگورتھم کي چونڊڻ لاءِ، glibc.rtld.dynamic_sort پيٽرولر تجويز ڪيو ويو آهي، جنهن کي "1" تي سيٽ ڪري سگهجي ٿو ته جيئن پراڻي الگورٿم ڏانهن واپس وڃو.
  • ABI هڪ نئين فنڪشن '__memcmpeq' لاءِ مدد شامل ڪئي آهي، جيڪو ڪمپلرز طرفان استعمال ڪيو ويو آهي 'memcmp' جي استعمال کي بهتر ڪرڻ لاءِ جيڪڏهن هن فنڪشن پاران موٽايل قيمت صرف آپريشن جي مڪمل ٿيڻ جي حالت کي جانچڻ لاءِ استعمال ٿئي ٿي.
  • لينڪس ڪنيل 4.18 کان مهيا ڪيل rseq (ٻيهر شروع ٿيندڙ ترتيب) سسٽم ڪال استعمال ڪندي ٿريڊز کي خودڪار طور تي رجسٽر ڪرڻ لاءِ مدد شامل ڪئي وئي. rseq سسٽم ڪال توهان کي هدايتن جي هڪ گروپ جي مسلسل عمل کي منظم ڪرڻ جي اجازت ڏئي ٿي جيڪا مداخلت نه ڪئي وئي آهي ۽ گروپ ۾ آخري هدايتن جي نتيجي جي تصديق ڪري ٿي. لازمي طور تي، اهو عملن جي تمام تيز ايٽمي عملدرآمد لاء هڪ وسيلو مهيا ڪري ٿو، جيڪڏهن ڪنهن ٻئي سلسلي ۾ مداخلت ڪئي وڃي، صاف ٿي وڃي ۽ ٻيهر ڪوشش ڪئي وڃي.
  • شامل ڪيو ويو symlink /usr/bin/ld.so.
  • ايمبيڊ ٿيل پروگرامن جي سڀني ايگزيڪيوٽو فائلن جي ڊفالٽ اسمبلي ۽ پي آءِ اي ۾ ٽيسٽ سيٽ (پوزيشن آزاد ايگزيڪيوٽو) موڊ مهيا ڪئي وئي آهي. ھن رويي کي غير فعال ڪرڻ لاء، "--disable-default-pie" اختيار مهيا ڪيو ويو آھي.
  • لينڪس لاءِ، هڪ glibc.malloc.hugetlb سيٽنگ شامل ڪئي وئي آهي malloc عمل درآمد ڪرڻ جي اجازت ڏيڻ لاءِ madvise سسٽم ڪال کي استعمال ڪرڻ لاءِ MADV_HUGEPAGE پرچم سان mmap ۽ sbrk لاءِ، يا mmap ۾ MAP_HUGETLB پرچم جي وضاحت ڪندي وڏي ميموري صفحن کي سڌو استعمال ڪرڻ لاءِ. ڪال پهرين صورت ۾، ڪارڪردگي حاصل ڪري سگهجي ٿي جيڪڏهن شفاف وڏا صفحا ميڊ ويز موڊ ۾ استعمال ڪيا وڃن، ۽ ٻئي صورت ۾، سسٽم محفوظ ڪيل وڏن صفحن کي استعمال ڪرڻ جي صلاحيت مهيا ڪئي وئي آهي.
  • شامل ڪيو ويو _dl_find_object فنڪشن جيڪو ڪال اسٽيڪ کي شامل ڪرڻ لاءِ استعمال ڪري سگھجي ٿو unwind معلومات.
  • OpenRISC فن تعمير (يا 1k-linux-gnu) لاءِ نرم-فلوٽ موڊ ۾ مدد شامل ڪئي وئي. بندرگاهن جي ضرورت آهي binutils 2.35، GCC 11، ۽ Linux kernel 5.4.
  • شامل ڪيو ويو هڪ تعمير پرچم "--with-rtld-early-cflags"، جيڪو استعمال ڪري سگھجي ٿو اضافي تاليف جي جھنڊن جي وضاحت ڪرڻ لاءِ استعمال ڪيو ويو جڏھن متحرڪ ڳنڍڻ لاءِ ابتدائي ڪوڊ ٺاھيو.
  • لينڪس پليٽ فارم لاءِ، epoll_pwait2 فنڪشن شامل ڪيو ويو آهي، جيڪو nanosecond precision سان ٽائم آئوٽ جي وضاحت ڪندي epoll_wait کان مختلف آهي.
  • شامل ڪيو ويو posix_spawn_file_actions_addtcsetpgrp_np فنڪشنل نسل جي حالتن کي ختم ڪرڻ لاءِ جڏهن نئين عمل لاءِ ڪنٽرول ٽرمينل سيٽ ڪيو وڃي.
  • Glibc ۽ GCC 12+ سان گڏ ڪيل ايپليڪيشنن لاءِ، ”_FORTIFY_SOURCE=3“ حفاظتي موڊ لاڳو ڪيو ويو آهي، جيڪو string.h هيڊر فائل ۾ بيان ڪيل اسٽرنگ افعال کي انجام ڏيڻ وقت ممڪن بفر اوور فلوز کي ڳولي ٿو. "_FORTIFY_SOURCE=2" موڊ کان فرق اضافي چيڪن تي اچي ٿو، جيڪو ممڪن طور تي ڪارڪردگي کي گھٽائي سگھي ٿو.
  • Intel MPX (ميموري پروٽيڪشن ايڪسٽينشن) لاءِ سپورٽ، ميموري جي حدن لاءِ پوائنٽرز کي چيڪ ڪرڻ لاءِ استعمال ڪيو ويو، بند ڪيو ويو آهي (هي ٽيڪنالاجي وسيع نه ٿي چڪي آهي ۽ اڳ ۾ ئي GCC ۽ LLVM مان هٽايو ويو آهي).
  • اڳي لنڪ ميڪانيزم ۽ ان سان لاڳاپيل ماحوليات LD_TRACE_PRELINKING ۽ LD_USE_LOAD_BIAS کي ختم ڪيو ويو آهي ۽ مستقبل جي رليز ۾ هٽايو ويندو.

    مقرر ٿيل نقصانات:

    • CVE-2022-23218, CVE-2022-23219 – svcunix_create ۽ clnt_create افعال ۾ بفر اوور فلو، نقل ڪيل ڊيٽا جي سائيز کي جانچڻ کان سواءِ فائل جي نالي جي پيٽرول جي مواد کي اسٽيڪ تي نقل ڪرڻ جي ڪري. اسٽيڪ تحفظ کان سواءِ ٺاهيل ايپليڪيشنن لاءِ ۽ ”يونڪس“ پروٽوڪول استعمال ڪندي، ڪمزوري ان ڪري ٿي سگھي ٿي حملي ڪندڙ ڪوڊ جي عمل کي جڏهن تمام ڊگھي فائل نالن کي پروسيس ڪندي.
    • CVE-2021-3998 ريئل پاٿ() فنڪشن ۾ هڪ خطرو آهي واپسي جي ڪري، ڪجهه حالتن هيٺ، هڪ غلط قدر جي جنهن ۾ اسٽيڪ مان غير صاف ٿيل بقايا ڊيٽا شامل آهن. SUID-root fusermount پروگرام لاءِ، خطري کي استعمال ڪري سگھجي ٿو حساس معلومات حاصل ڪرڻ لاءِ پروسيس ميموري مان، مثال طور، پوائنٽرز بابت معلومات حاصل ڪرڻ لاءِ.
    • CVE-2021-3999 - سنگل بائيٽ بفر اوور فلو getcwd() فنڪشن ۾. مسئلو هڪ بگ جي ڪري آهي جيڪو 1995 کان موجود آهي. اوور فلو جو سبب بڻجڻ لاءِ، صرف ڪال ڪريو chdir() کي "/" ڊاريڪٽري تي الڳ ماؤنٽ پوائنٽ نيم اسپيس ۾.

    جو ذريعو: opennet.ru

تبصرو شامل ڪريو