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 පිරිවිතරයන්ට සහය දැක්වීම සඳහා කේතන දත්ත, අක්ෂර වර්ග තොරතුරු සහ අක්ෂර පරිවර්තන වගු යාවත්කාලීන කර ඇත.
  • තුල සහ ප්‍රතිඵලය පටු වර්ගයකට වට කරන ශ්‍රිත සහ මැක්‍රෝ ක්‍රියාවට නංවනු ලැබේ: fsqrt, fsqrtl, dsqrtl, ffma, ffmal, dfmal, fMsqrtfN, fMsqrtfNx, fMxsqrtfN, fMxsqrtfNx, fMfmafNx, fMfMfx, fMfMfx, fMfMfx කාර්යයන් TS 18661-1: 2014, TS 18661-3: 2015 පිරිවිතරවල විස්තර කර ඇති අතර අනාගත ISO C2X C ප්‍රමිතියේ කෙටුම්පතට එක් කර ඇත.
  • තුල සහ IEEE 754-2019 පිරිවිතරයේ විස්තර කර ඇති සහ අනාගත ISO C2X C ප්‍රමිතියේ කෙටුම්පතට එකතු කරන ලද float, long double, _FloatN සහ _FloatNx වර්ග සමඟින් පාවෙන ලක්ෂ්‍යවල අවම සහ උපරිම සංඛ්‍යාව සොයා ගැනීම සඳහා ක්‍රියාත්මක කරන ලද ශ්‍රිත සහ මැක්‍රෝස්: fmaximum, fmaximum_num , fmaximum_mag, fmaximum_mag_num, fminimum, fminimum_num, fminimum_mag, fminimum_mag_num.
  • තුල තනි නිරවද්‍ය පාවෙන ලක්ෂ්‍ය සංඛ්‍යා සඳහා නියතයන් එකතු කරන ලදී: 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_SQRTSQ2f.
  • ශීර්ෂ ගොනුවේ exp10 කාර්යයන් සඳහා නිශ්චිත වර්ගවලට සම්බන්ධ නොවන අනුරූප මැක්‍රෝ එකතු කරන ලදී.
  • තුල ISO C2X සම්මත කෙටුම්පතෙහි යෝජිත _PRINTF_NAN_LEN_MAX සාර්ව එකතු කරන ලදී.
  • ද්විමය නිරූපණයෙහි පූර්ණ සංඛ්‍යා මුද්‍රණය කිරීම සඳහා "%b" සහ "%B" ආකෘති පිරිවිතරයන් printf පවුලට එකතු කරන ලදී.
  • ගතික සම්බන්ධක පද්ධතිය නව DSO වර්ග කිරීමේ ඇල්ගොරිතමයක් ක්‍රියාත්මක කරන අතර එය ලූප් කළ පරායත්තතා හැසිරවීමේදී කාර්ය සාධන ගැටළු විසඳීමට ගැඹුර-පළමු සෙවුම (DFS) භාවිතා කරයි. DSO වර්ග කිරීමේ ඇල්ගොරිතම තේරීම සඳහා, glibc.rtld.dynamic_sort පරාමිතිය යෝජනා කරනු ලැබේ, එය පැරණි ඇල්ගොරිතමයට පෙරළීමට “1” ලෙස සැකසිය හැක.
  • ABI විසින් නව ශ්‍රිතයක් වන '__memcmpeq' සඳහා සහය එක් කර ඇත, මෙම ශ්‍රිතය මඟින් ලබා දෙන අගය මෙහෙයුමක සම්පූර්ණ තත්ත්වය පරීක්ෂා කිරීමට පමණක් භාවිතා කරන්නේ නම්, 'memcmp' භාවිතය ප්‍රශස්ත කිරීමට සම්පාදකයන් විසින් භාවිතා කරනු ලැබේ.
  • ලිනක්ස් කර්නලය 4.18 සිට ලබා දී ඇති rseq (නැවත ආරම්භ කළ හැකි අනුපිළිවෙල) පද්ධති ඇමතුම භාවිතයෙන් නූල් ස්වයංක්‍රීයව ලියාපදිංචි කිරීම සඳහා සහය එක් කරන ලදී. rseq පද්ධති ඇමතුම මඟින් ඔබට බාධා නොවන උපදෙස් සමූහයක් අඛණ්ඩව ක්‍රියාත්මක කිරීම සංවිධානය කිරීමට ඉඩ ලබා දෙන අතර කණ්ඩායමේ අවසාන උපදෙස් මඟින් ප්‍රති result ලය තහවුරු කරයි. අත්‍යවශ්‍යයෙන්ම, එය වෙනත් නූලකින් බාධා කළහොත් පිරිසිදු කර නැවත උත්සාහ කරන මෙහෙයුම් ඉතා වේගයෙන් පරමාණුක ක්‍රියාත්මක කිරීම සඳහා මාධ්‍යයක් සපයයි.
  • symlink /usr/bin/ld.so එකතු කරන ලදී.
  • කාවැද්දූ වැඩසටහන් වල සියලුම ක්‍රියාත්මක කළ හැකි ගොනු වල පෙරනිමි එකලස් කිරීම සහ PIE (ස්ථාන ස්වාධීන ක්‍රියාත්මක කළ හැකි) මාදිලියේ පරීක්ෂණ කට්ටලය සපයනු ලැබේ. මෙම හැසිරීම අක්රිය කිරීමට, "--disable-default-pie" විකල්පය සපයනු ලැබේ.
  • Linux සඳහා, mamp සහ sbrk සඳහා MADV_HUGEPAGE ධජය සමඟ madvise පද්ධති ඇමතුම භාවිතා කිරීමට malloc ක්‍රියාත්මක කිරීම මාරු කිරීමට ඉඩ දීමට glibc.malloc.hugetlb සැකසුම එක් කර ඇත, හෝ MAP_HUGETLB ධජය mmap හි සඳහන් කිරීමෙන් විශාල මතක පිටු සෘජුවම භාවිතා කිරීමට. ඇමතුම්. පළමු අවස්ථාවේ දී, විනිවිද පෙනෙන විශාල පිටු madvise මාදිලියේ භාවිතා කරන්නේ නම්, කාර්ය සාධන ජයග්‍රහණ ලබා ගත හැකි අතර, දෙවන අවස්ථාවේදී, පද්ධතියෙන් වෙන් කර ඇති විශාල පිටු භාවිතා කිරීමේ හැකියාව ලබා දේ.
  • ඇමතුම් තොගය ඉවත් කිරීමේ තොරතුරු එක් කිරීමට භාවිතා කළ හැකි _dl_find_object ශ්‍රිතය එක් කරන ලදී.
  • OpenRISC ගෘහ නිර්මාණ ශිල්පය (or1k-linux-gnu) සඳහා මෘදු පාවෙන ආකාරයෙන් සහය එක් කරන ලදී. වරායට binutils 2.35, GCC 11, සහ Linux kernel 5.4 අවශ්‍ය වේ.
  • "--with-rtld-early-cflags" ගොඩනැගීමේ ධජයක් එක් කරන ලදී, ගතික සම්බන්ධ කිරීම සඳහා මූලික කේතය තැනීමේදී භාවිතා කරන අතිරේක සම්පාදන කොඩි සඳහන් කිරීමට භාවිතා කළ හැක.
  • Linux වේදිකාව සඳහා, epoll_pwait2 ශ්‍රිතය එකතු කර ඇත, එය නැනෝ තත්පර නිරවද්‍යතාවයෙන් කල් ඉකුත්වීමක් නියම කිරීමෙන් epoll_wait ට වඩා වෙනස් වේ.
  • නව ක්‍රියාවලියක් සඳහා පාලන පර්යන්තයක් සැකසීමේදී ධාවන තත්ත්වයන් ඉවත් කිරීමට posix_spawn_file_actions_addtcsetpgrp_np ශ්‍රිතය එක් කරන ලදී.
  • Glibc සහ GCC 12+ සමඟින් සම්පාදනය කරන ලද යෙදුම් සඳහා, “_FORTIFY_SOURCE=3” ආරක්ෂණ මාදිලිය ක්‍රියාත්මක කර ඇත, එය string.h ශීර්ෂ ගොනුවේ අර්ථ දක්වා ඇති තන්තු ශ්‍රිත ක්‍රියාත්මක කිරීමේදී විය හැකි බෆර පිටාර ගැලීම් හඳුනා ගනී. “_FORTIFY_SOURCE=2” මාදිලියේ වෙනස අතිරේක චෙක්පත් දක්වා පහළට පැමිණේ, එය කාර්ය සාධනය අඩුවීමට හේතු විය හැක.
  • මතක සීමාවන් සඳහා පොයින්ටර් පරීක්ෂා කිරීමට භාවිතා කරන Intel MPX (Memory Protection Extensions) සඳහා සහය නතර කර ඇත (මෙම තාක්ෂණය පුළුල් වී නොමැති අතර GCC සහ LLVM වෙතින් දැනටමත් ඉවත් කර ඇත).
  • පූර්ව සබැඳි යාන්ත්‍රණය සහ එහි ආශ්‍රිත පරිසර විචල්‍ය LD_TRACE_PRELINKING සහ LD_USE_LOAD_BIAS අත්හරින ලද අතර අනාගත නිකුතුවකදී ඉවත් කරනු ලැබේ.

    දුර්වලතා නිරාකරණය කර ඇත:

    • CVE-2022-23218, CVE-2022-23219 - පිටපත් කරන ලද දත්තවල ප්‍රමාණය පරීක්ෂා නොකර ගොනු නාම පරාමිතියේ අන්තර්ගතය තොගයට පිටපත් කිරීම නිසා ඇති වන svcunix_create සහ clnt_create ශ්‍රිතවල බෆර පිටාර ගැලීම. ස්ටැක් ආරක්ෂණයකින් තොරව සහ “යුනික්ස්” ප්‍රොටෝකෝලය භාවිතයෙන් සාදන ලද යෙදුම් සඳහා, ඉතා දිගු ගොනු නාම සැකසීමේදී අවදානම් ප්‍රහාරක කේතය ක්‍රියාත්මක කිරීමට හේතු විය හැක.
    • CVE-2021-3998 යනු, යම් යම් කොන්දේසි යටතේ, තොගයෙන් අපවිත්‍ර වූ අවශේෂ දත්ත අඩංගු වැරදි අගයක් ආපසු පැමිණීම හේතුවෙන් realpath() ශ්‍රිතයේ ඇති අවදානමකි. SUID-root fusermount වැඩසටහන සඳහා, ක්‍රියාවලි මතකයෙන් සංවේදී තොරතුරු ලබා ගැනීමට, උදාහරණයක් ලෙස, පොයින්ටර් පිළිබඳ තොරතුරු ලබා ගැනීමට, අවදානම භාවිතා කළ හැක.
    • CVE-2021-3999 - getcwd() ශ්‍රිතයේ තනි-බයිට් බෆරය පිටාර ගැලීම. 1995 සිට පවතින දෝෂයක් නිසා මෙම ගැටලුව ඇති වේ. පිටාර ගැලීමක් ඇති කිරීම සඳහා, වෙනම මවුන්ට් පොයින්ට් නාම අවකාශයක "/" බහලුම මත chdir() අමතන්න.

    මූලාශ්රය: opennet.ru

අදහස් එක් කරන්න