Glibc 2.35 የስርዓት ቤተ መፃህፍት መለቀቅ

ከስድስት ወራት እድገት በኋላ የጂኤንዩ ሲ ቤተ መፃህፍት (glibc) 2.35 ስርዓት ቤተ-መጽሐፍት ተለቋል ይህም የ ISO C11 እና POSIX.1-2017 መስፈርቶችን ሙሉ በሙሉ የሚያከብር ነው። አዲሱ ልቀት የ66 ገንቢዎችን ጥገና ያካትታል።

በGlibc 2.35 ውስጥ ከተተገበሩት አንዳንድ ማሻሻያዎች መካከል፡-

  • ለሁሉም የዩኒኮድ ኮዶች ስብስብ ህጎችን የሚያካትት ለ "C.UTF-8" አከባቢ ድጋፍ ታክሏል ነገር ግን ቦታን ለመቆጠብ በ fnmatch, regexec እና regcomp ተግባራት ውስጥ የ ASCII ክልሎችን መጠቀም ብቻ ነው. አካባቢው ወደ 400 ኪ.ባ ያህል ነው፣ ከዚህ ውስጥ 346 ኪባ የዩኒኮድ LC_CTYPE ውሂብ ነው፣ እና የተለየ ጭነት ያስፈልገዋል (በGlibc ውስጥ አልተሰራም)።
  • የዩኒኮድ 14.0.0 መግለጫን ለመደገፍ ኢንኮዲንግ ዳታ፣ የቁምፊ አይነት መረጃ እና በቋንቋ ፊደል መፃፍ ሰንጠረዦች ተዘምነዋል።
  • ውስጥ እና ተግባራት እና ማክሮዎች ውጤቱን ወደ ጠባብ አይነት የሚያዞሩት፡ fsqrt፣ fsqrtl፣ dsqrtl፣ ffma፣ ffmal፣ dfmal፣ fMsqrtfN፣ fMsqrtfNx፣ fMxsqrtfN፣ fMxsqrtfNx፣fMfmafN፣ fMfmaf ተግባሮቹ በ TS 18661-1: 2014, TS 18661-3: 2015 ዝርዝር ውስጥ ተገልጸዋል እና ለወደፊቱ የ ISO C2X C ደረጃ ረቂቅ ተጨምረዋል.
  • ውስጥ እና በ IEEE 754-2019 ዝርዝር ውስጥ የተገለጹት እና በመጪው ISO C2X C መስፈርት ረቂቅ ላይ የተጨመሩት ዓይነቶች ተንሳፋፊ ፣ ረጅም ድርብ ፣ _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_SQRTPIF፣ M_2_SQRTPIf1 እና MS_SQRTPI
  • በራስጌ ፋይል ውስጥ ለተግባር exp10 ከተወሰኑ ዓይነቶች ጋር ያልተጣመሩ ተጓዳኝ ማክሮዎች ታክለዋል.
  • ውስጥ በረቂቅ ISO C2X መስፈርት የቀረበውን _PRINTF_NAN_LEN_MAX ማክሮ አክሏል።
  • ኢንቲጀሮችን በሁለትዮሽ ውክልና ለማተም የ"%b" እና "%B" ቅርጸት ገላጭዎችን ወደ የህትመት ቤተሰብ ተግባራት ታክለዋል።
  • ተለዋዋጭ ማያያዣ ስርዓቱ የተዘበራረቁ ጥገኞችን በሚይዝበት ጊዜ የአፈጻጸም ችግሮችን ለመፍታት ጥልቅ-የመጀመሪያ ፍለጋን (DFS) የሚጠቀም አዲስ DSO የመደርደር ስልተ-ቀመርን ተግባራዊ ያደርጋል። የዲኤስኦ መደርደር አልጎሪዝምን ለመምረጥ የglibc.rtld.dynamic_sort መለኪያ ቀርቧል፣ ይህም ወደ አሮጌው ስልተ ቀመር ለመመለስ ወደ “1” ሊዋቀር ይችላል።
  • ABI በዚህ ተግባር የተመለሰው እሴት የአንድን ቀዶ ጥገና የማጠናቀቂያ ሁኔታ ለመፈተሽ ብቻ ጥቅም ላይ የሚውል ከሆነ የ'memcmp' አጠቃቀምን ለማሻሻል በአቀነባባሪዎች ለሚጠቀሙት አዲስ ተግባር '__memcmpeq' ድጋፍ አድርጓል።
  • ከሊኑክስ ከርነል 4.18 ጀምሮ የቀረበውን rseq (ዳግም ማስጀመር የሚችሉ ተከታታይ) የስርዓት ጥሪን በመጠቀም ክሮች በራስ ሰር ለመመዝገብ ድጋፍ ታክሏል። የ rseq ስርዓት ጥሪ ያልተቋረጠ እና በቡድኑ ውስጥ በመጨረሻው መመሪያ ውጤቱን የሚያረጋግጥ የቡድን መመሪያዎችን ቀጣይነት ያለው አፈፃፀም እንዲያደራጁ ይፈቅድልዎታል. በመሰረቱ፣ በሌላ ክር ከተቋረጠ፣ ተጠርጎ እንደገና የሚሞከር በጣም ፈጣን የአቶሚክ አፈፃፀም ዘዴን ይሰጣል።
  • ሲምሊንክ /usr/bin/ld.so ታክሏል።
  • የተከተቱ ፕሮግራሞች የሁሉንም ሊተገበሩ የሚችሉ ፋይሎች ነባሪ ስብሰባ እና በ PIE (በገለልተኛ ቦታ ላይ የሚተገበር) ሁኔታ ውስጥ ያለው የሙከራ ስብስብ ቀርቧል። ይህንን ባህሪ ለማሰናከል የ"--disable-default-pie" አማራጭ ቀርቧል።
  • ለሊኑክስ፣ የማሎክ አተገባበሩ እንዲቀያየር የMADV_HUGEPAGE ባንዲራ ለኤምፓ እና sbrk ያለው የእብድ የስርዓት ጥሪን ለመጠቀም ወይም የ MAP_HUGETLB ባንዲራ በኤምኤምፒ ውስጥ በመግለጽ ትልቅ የማስታወሻ ገፆችን ለመጠቀም glibc.malloc.hugetlb ቅንብር ተጨምሯል። ጥሪዎች. በመጀመሪያው ሁኔታ ፣ ግልፅ ግዙፍ ገፆች በእብድ ሁነታ ጥቅም ላይ ከዋሉ አፈፃፀምን ማሳካት ይችላሉ ፣ እና በሁለተኛው ሁኔታ ፣ በስርዓቱ (ግዙፍ ገጾች) የተያዙ ትልልቅ ገጾችን መጠቀም ይችላሉ።
  • የጥሪ ቁልል ንፋስ መረጃን ለመጨመር የሚያገለግል _dl_find_object ተግባር ታክሏል።
  • ለOpenRISC architecture (or1k-linux-gnu) ለስላሳ ተንሳፋፊ ሁነታ ድጋፍ ታክሏል። ወደቡ binutils 2.35፣ GCC 11 እና Linux kernel 5.4 ይፈልጋል።
  • ለተለዋዋጭ ግንኙነት የመጀመሪያ ኮድ ሲገነቡ ጥቅም ላይ የሚውሉ ተጨማሪ የተጠናቀሩ ባንዲራዎችን ለመጥቀስ የሚያገለግል የግንባታ ባንዲራ "--with-rtld-early-cflags" ታክሏል።
  • ለሊኑክስ መድረክ፣የ epoll_pwait2 ተግባር ተጨምሯል፣ይህም ከ epoll_wait የሚለየው በ nanosecond precision የሚያልፍበትን ጊዜ በመግለጽ ነው።
  • ለአዲስ ሂደት የቁጥጥር ተርሚናል ሲያዘጋጁ የዘር ሁኔታዎችን ለማስወገድ የ posix_spawn_file_actions_addtcsetpgrp_np ተግባር ታክሏል።
  • ከGlibc እና GCC 12+ ጋር ለተጠናቀሩ አፕሊኬሽኖች የ«_FORTIFY_SOURCE=3» ጥበቃ ሁነታ ተተግብሯል፣ ይህም በstring.h ራስጌ ፋይል ውስጥ የተገለጹትን የሕብረቁምፊ ተግባራትን ሲፈጽም ቋት ሊበዛ ይችላል። ከ"_FORTIFY_SOURCE=2" ሁነታ ያለው ልዩነት ወደ ተጨማሪ ፍተሻዎች ይወርዳል፣ ይህም ወደ አፈጻጸም መቀነስ ሊያመራ ይችላል።
  • ለኢንቴል ኤምፒኤክስ (የማህደረ ትውስታ ጥበቃ ቅጥያዎች)፣ የማህደረ ትውስታ ወሰኖች ጠቋሚዎችን ለመፈተሽ የሚያገለግል ድጋፍ ተቋረጠ (ይህ ቴክኖሎጂ አልተስፋፋም እና ቀድሞውኑ ከጂሲሲ እና ኤልኤልቪኤም ተወግዷል)።
  • የቅድመ ማገናኛ ዘዴው እና ተዛማጅ የአካባቢ ተለዋዋጮች 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

አስተያየት ያክሉ