د 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, fMxmx, fMfmafN, fMxmx, fMx. دندې په مشخصاتو TS 18661-1: 2014، TS 18661-3: 2015 کې تشریح شوي او د راتلونکي ISO C2X C معیاري مسودې کې اضافه شوي.
  • IN او د فلوټ ، اوږد ډبل ، _FloatN او _FloatNx ډولونو سره د لږترلږه او اعظمي فلوټینګ پوائنټ شمیرو موندلو لپاره پلي شوي افعال او میکرو ، چې د IEEE 754-2019 توضیحاتو کې تشریح شوي او د راتلونکي 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_f2_QRTS_f, M_1_SQRTS_f2,
  • د سرلیک فایل کې د exp10 افعال لپاره ورته میکرو اضافه شوي چې په ځانګړي ډولونو پورې تړلي ندي.
  • IN د ISO C2X معیار په مسوده کې وړاندیز شوی _PRINTF_NAN_LEN_MAX میکرو اضافه کړ.
  • د "%b" او "%B" د بڼې مشخص کونکي اضافه شوي ترڅو د بائنری نمایندګۍ کې د انټیجرونو چاپولو لپاره د دندو د printf کورنۍ ته.
  • د متحرک لینک کولو سیسټم یو نوی DSO ترتیب کولو الګوریتم پلي کوي چې د ژورې لومړۍ لټون (DFS) کاروي ترڅو د فعالیت مسلو حل کړي کله چې د لوپ شوي انحصارونو اداره کول. د DSO د ترتیب کولو الګوریتم غوره کولو لپاره، د glibc.rtld.dynamic_sort پیرامیټر وړاندیز شوی، کوم چې "1" ته ټاکل کیدی شي ترڅو زاړه الګوریتم ته بیرته راستانه شي.
  • ABI د نوي فنکشن '__memcmpeq' لپاره ملاتړ اضافه کړی چې د کمپیلر لخوا د 'memcmp' کارولو غوره کولو لپاره کارول کیږي که چیرې د دې فنکشن لخوا بیرته راستنیدونکي ارزښت یوازې د عملیاتو بشپړیدو حالت چیک کولو لپاره کارول کیږي.
  • د لینکس کرنل 4.18 راهیسې چمتو شوي د rseq (د بیا پیل کیدو وړ ترتیبونو) سیسټم کال په کارولو سره د تارونو راجسټر کولو لپاره ملاتړ اضافه شوی. د rseq سیسټم زنګ تاسو ته اجازه درکوي د لارښوونو یوې ډلې دوامداره اجرا تنظیم کړئ چې مداخله نه کوي او پایله یې په ګروپ کې د وروستي لارښوونې لخوا تاییدوي. په لازمي ډول ، دا د عملیاتو خورا ګړندي اټومي اجرا کولو لپاره وسیله چمتو کوي چې که چیرې د بل تار لخوا مداخله وشي ، پاکیږي او بیا هڅه کیږي.
  • symlink اضافه شوی /usr/bin/ld.so.
  • د ایمبیډ شوي برنامو د ټولو اجرا وړ فایلونو ډیفالټ مجلس او په PIE (د موقعیت خپلواک اجرا وړ) حالت کې ټیسټ سیټ چمتو شوی. د دې چلند غیر فعالولو لپاره، د "--disable-default-pie" اختیار چمتو شوی.
  • د لینکس لپاره، د glibc.malloc.hugetlb ترتیب اضافه شوی ترڅو د malloc تطبیق ته اجازه ورکړي چې د mmap او sbrk لپاره د MADV_HUGEPAGE بیرغ سره د madvise سیسټم کال کارولو لپاره بدل شي، یا په مستقیم ډول په mmap کې د MAP_HUGETLB بیرغ مشخص کولو سره لوی حافظې پاڼې وکاروي. زنګونه په لومړي حالت کې، د فعالیت لاسته راوړنې ترلاسه کیدی شي که چیرې شفاف لوی پاڼې په میډویز حالت کې وکارول شي، او په دویمه قضیه کې، د سیسټم لخوا ساتل شوي لوی پاڼې کارولو وړتیا چمتو کیږي.
  • د _dl_find_object فنکشن اضافه شوی چې د کال سټیک خلاصولو معلوماتو اضافه کولو لپاره کارول کیدی شي.
  • په نرم فلوټ حالت کې د OpenRISC جوړښت (یا 1k-linux-gnu) لپاره ملاتړ اضافه شوی. پورټ بائنټیل 2.35، GCC 11، او لینکس کرنل 5.4 ته اړتیا لري.
  • د جوړونې بیرغ "--with-rtld-early-cflags" اضافه کړ، کوم چې د اضافي تالیف بیرغونو مشخص کولو لپاره کارول کیدی شي کله چې د متحرک لینک کولو لپاره د لومړني کوډ جوړولو په وخت کې کارول کیږي.
  • د لینکس پلیټ فارم لپاره، د epoll_pwait2 فنکشن اضافه شوی، کوم چې د nanosecond دقیقیت سره د وخت پای په ټاکلو سره د 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

Add a comment