Glibc 2.31 စနစ်စာကဌည့်တိုက် ဖဌန့်ချိမဟု

ခဌောက်လကဌာပဌီသနောက် ဖလံ့ဖဌိုသတိုသတက်မဟု ပုံနဟိပ်ထုတ်ဝေ စနစ်စာကဌည့်တိုက် ထုတ်ဝေခဌင်သ။ GNU C စာကဌည့်တိုက် (glibc) 2.31ISO C11 နဟင့် POSIX.1-2008 စံနဟုန်သမျာသ ၏ လိုအပ်ချက်မျာသကို အပဌည့်အဝ လိုက်နာပါသည်။ အသစ်ထလက်ရဟိမဟုတလင် developer 58 ထံမဟပဌင်ဆင်မဟုမျာသပါဝင်သည်။

Glibc 2.31 တလင် အကောင်အထည် ဖော်နေသူမျာသထံမဟ တိုသတက်မဟုမျာသ သင်သတိပဌုမိနိုင်သည် -

  • အနာဂတ် ISO စံနဟုန်သမူကဌမ်သတလင် သတ်မဟတ်ထာသသော စလမ်သရည်မျာသကို ဖလင့်ရန်အတလက် _ISOC2X_SOURCE မက်ခရိုကို ထည့်ထာသသည်။ C2X. _GNU_SOURCE မက်ခရိုကို အသုံသပဌုသည့်အခါ သို့မဟုတ် “-std=gnu2x” အလံဖဌင့် gcc တလင် တည်ဆောက်သည့်အခါတလင်လည်သ အဆိုပါအင်္ဂါရပ်မျာသကို ဖလင့်ပေသထာသပါသည်။
  • ၎င်သတို့၏ရလဒ်မျာသကို အမျိုသအစာသငယ်တစ်ခုသို့ ပတ်ထာသသော ခေါင်သစီသဖိုင် "math.h" တလင် သတ်မဟတ်ထာသသည့် လုပ်ဆောင်ချက်မျာသ အတလက်၊ သတ်မဟတ်ချက် TS 18661-1:2014 နဟင့် TS တို့၏ လိုအပ်ချက်အရ သက်ဆိုင်ရာ ယေဘူယျအမျိုသအစာသ မက်ခရိုကို ဖိုင် "tgmath.h" တလင် အဆိုပဌုထာသသည်။ 18661-3: 2015;
  • အချိန်ကုန်ချိန်ကို ထည့်သလင်သစဉ်သစာသခဌင်သ (မပဌီသဆုံသမီ အချိန်ကုန်သလာသပါက၊ လုပ်ဆောင်ချက်သည် အမဟာသတစ်ခု ပဌန်ပေါ်လာမည်) ဟူသော pthread_clockjoin_np() လုပ်ဆောင်ချက်ကို ထည့်သလင်သထာသသည်။ မတူပါ။ pthread_timedjoin_np()၊ pthread_clockjoin_np() တလင် timeout ကို တလက်ချက်ရန်အတလက် timer အမျိုသအစာသကို သတ်မဟတ်ရန် ဖဌစ်နိုင်သည် - CLOCK_MONOTONIC (အိပ်စက်ခဌင်သမုဒ်တလင် စနစ်အသုံသပဌုသည့်အချိန်ကို ထည့်သလင်သစဉ်သစာသသည်) သို့မဟုတ် CLOCK_REALTIME;
  • DNS ဖဌေရဟင်သသူသည် ယခု /etc/resolv.conf တလင် ယုံကဌည်စိတ်ချရသော ကဌော်ငဌာရလေသချယ်မဟုကို ပံ့ပိုသပေသပဌီသ _res.options ရဟိ RES_TRUSTAD အလံကို သတ်မဟတ်သောအခါ၊ DNSSEC အလံကို DNS တောင်သဆိုမဟုမျာသတလင် ပို့လလဟတ်လိုက်သည် AD (စစ်မဟန်ကဌောင်သအထောက်အထာသ)။ ကမုဒ်တလင်၊ ဆာဗာမဟသတ်မဟတ်ထာသသော AD အလံသည် res_search() ကဲ့သို့ လုပ်ဆောင်ချက်မျာသကိုခေါ်ဆိုသော အပလီကေသရဟင်သမျာသအတလက် ရနိုင်မည်ဖဌစ်သည်။ ပုံမဟန်အာသဖဌင့်၊ အကဌံပဌုထာသသောရလေသချယ်စရာမျာသကို မသတ်မဟတ်ထာသပါက၊ glibc သည် တောင်သဆိုမဟုမျာသတလင် AD အလံကို မသတ်မဟတ်ဘဲ DNSSEC စစ်ဆေသမဟုမျာသ ပျောက်ဆုံသနေကဌောင်သ ညလဟန်ပဌပဌီသ တုံ့ပဌန်မဟုမျာသတလင် ၎င်သကို အလိုအလျောက်ရဟင်သပေသပါသည်။
  • Glibc အတလက် အလုပ်လုပ်သော စနစ်ခေါ်ဆိုမဟုနဟောင်ကဌိုသမျာသကို တည်ဆောက်ခဌင်သသည် Linux kernel ခေါင်သစီသဖိုင်မျာသကို ထည့်သလင်သရန်မလိုအပ်တော့ပါ။ ခဌလင်သချက်မဟာ 64-bit RISC-V ဗိသုကာ၊
  • ဖယ်ထုတ်ခံရတယ်။ အာသနည်သချက် CVE-2019-19126အကာအကလယ်ကို ကျော်လလဟာသနိုင်စေသော၊
    setuid အလံပါရဟိသော ပရိုဂရမ်မျာသတလင် ASLR သည် LD_PREFER_MAP_32BIT_EXEC ပတ်၀န်သကျင် variable ကို ခဌယ်လဟယ်ခဌင်သဖဌင့် တင်ထာသသော ဒစ်ဂျစ်တိုက်မျာသရဟိ လိပ်စာအပဌင်အဆင်ကို ဆုံသဖဌတ်ပါ။

လိုက်ဖက်ညီမဟုကို ပျက်ပဌာသစေသော အပဌောင်သအလဲမျာသ

  • totalorder(), totalordermag() နဟင့် အခဌာသသော floating-point အမျိုသအစာသမျာသအတလက် အလာသတူလုပ်ဆောင်ချက်မျာသသည် ယခုအခါ တန်ဖိုသမျာသကို ပဌောင်သလဲခဌင်သနဟင့်ပတ်သက်၍ သတိပေသချက်မျာသကို ဖယ်ရဟာသရန် pointers မျာသကို အကဌောင်သပဌချက်မျာသအဖဌစ် လက်ခံပါသည်။ NaNအနာဂတ် C18661X စံနဟုန်သအတလက် အဆိုပဌုထာသသော TS 1-2 ၏ အကဌံပဌုချက်မျာသနဟင့်အညီ၊
    Floating Point အငဌင်သအခုံမျာသကို တိုက်ရိုက်ဖဌတ်သန်သသော လက်ရဟိ executable မျာသသည် ပဌုပဌင်မလမ်သမံခဌင်သမရဟိဘဲ ဆက်လက်လည်ပတ်နေမည်ဖဌစ်သည်။

  • ကာလကဌာရဟည်စလာကန့်ကလက်ထာသသော stime လုပ်ဆောင်ချက်ကို glibc-linked binaries မျာသအတလက် မရနိုင်တော့ဘဲ ၎င်သ၏အဓိပ္ပါယ်ဖလင့်ဆိုချက်ကို time.h မဟ ဖယ်ရဟာသလိုက်ပါသည်။ စနစ်အချိန်ကို သတ်မဟတ်ရန် clock_settime လုပ်ဆောင်ချက်ကို အသုံသပဌုပါ။ အနာဂတ်တလင်၊ ကျလန်ုပ်တို့သည် ကန့်ကလက်ထာသသော ftime လုပ်ဆောင်ချက်အပဌင် sys/timeb.h ခေါင်သစီသဖိုင် (gettimeofday သို့မဟုတ် clock_gettime ကို ftime အစာသ ftime ကိုသုံသသင့်သည်)
  • gettimeofday လုပ်ဆောင်ချက်သည် စနစ်တစ်ခုလုံသရဟိ အချိန်ဇုန်ဆိုင်ရာ အချက်အလက်မျာသကို မဖဌတ်သန်သတော့ဘဲ (ကအင်္ဂါရပ်သည် 4.2-BSD လက်ထက်တလင် သက်ဆိုင်ရာဖဌစ်ပဌီသ နဟစ်ပေါင်သမျာသစလာ ရပ်ဆိုင်သထာသသည်)။ 'tzp' အငဌင်သအခုံကို ယခုအခါ null pointer အဖဌစ် ကျော်ဖဌတ်သလာသသင့်ပဌီသ လက်ရဟိအချိန်ပေါ်အခဌေခံ၍ အချိန်ဇုန်အချက်အလက်ရရဟိရန် localtime() လုပ်ဆောင်ချက်ကို အသုံသပဌုသင့်သည်။ သုညမဟုတ်သော 'tzp' အငဌင်သအခုံဖဌင့် gettimeofday ကိုခေါ်ဆိုခဌင်သသည် စံတော်ချိန်ဖလဲ့စည်သပုံတလင် ဗလာ tz_minuteswest နဟင့် tz_dsttime အကလက်မျာသကို ပဌန်ပေသပါမည်။ gettimeofday လုပ်ဆောင်ချက်ကို POSIX အောက်တလင် ရပ်ဆိုင်သထာသသည် (gettimeofday အစာသ clock_gettime ကို အကဌံပဌုထာသသည်)၊ သို့သော် ၎င်သကို glibc မဟ ဖယ်ရဟာသရန် အစီအစဉ်မရဟိပါ။
  • settimeofday သည် အချိန်သတ်မဟတ်ခဌင်သနဟင့် အချိန်ပဌင်ဆင်ခဌင်သ အော့ဖ်ဆက်အတလက် ပါရာမီတာမျာသ တစ်ပဌိုင်နက်ဖဌတ်သန်သခဌင်သကို မပံ့ပိုသတော့ပါ။ settimeofday ကိုခေါ်ဆိုသောအခါ၊ အကဌောင်သပဌချက်တစ်ခု (အချိန် သို့မဟုတ် အော့ဖ်ဆက်) ကို ယခုအခါ null အဖဌစ်သတ်မဟတ်ထာသရမည်၊ သို့မဟုတ်ပါက လုပ်ဆောင်ချက်ခေါ်ဆိုမဟုသည် EINVAL အမဟာသတစ်ခုဖဌင့် ပျက်ကလက်သလာသမည်ဖဌစ်သည်။ gettimeofday ကဲ့သို့ပင်၊ settimeofday လုပ်ဆောင်ချက်ကို POSIX တလင် ရပ်တန့်ထာသပဌီသ clock_settime လုပ်ဆောင်ချက် သို့မဟုတ် adjtime လုပ်ဆောင်ချက် မိသာသစုဖဌင့် အစာသထိုသရန် အကဌံပဌုထာသသည်။
  • SPARC ISA v7 ဗိသုကာအတလက် ပံ့ပိုသမဟုကို ရပ်ဆိုင်သလိုက်ပါပဌီ (v8 ပံ့ပိုသမဟုကို ယခုတလင် ထိန်သသိမ်သထာသသော်လည်သ LEON ပရိုဆက်ဆာမျာသ၊ SuperSPARC ပရိုဆက်ဆာမျာသမဟုတ်ဘဲ CAS ညလဟန်ကဌာသချက်မျာသကို ပံ့ပိုသသည့် ပရိုဆက်ဆာမျာသအတလက်သာ)။
  • တလဲ၍မရပါက၊အပျင်သကဌီသသော"၊ လင့်ခ်သည် ထိုလုပ်ဆောင်ချက်ကို ပထမဆုံသခေါ်ဆိုသည့်အချိန်အထိ လုပ်ဆောင်ချက်တစ်ခု၏သင်္ကေတမျာသကို မရဟာဖလေဘဲ၊ dlopen လုပ်ဆောင်ချက်သည် ယခုအခါ လုပ်ငန်သစဉ်အာသ ရပ်တန့်ရန် တလန်သအာသပေသနေသည် (ယခင်က ပျက်ကလက်မဟုတလင် NULL ပဌန်တက်လာသည်)။
  • MIPS hard-float ABI အတလက်၊ တည်ဆောက်မဟုမဟ “-enable-kernel=4.8” ဘောင်မဟတဆင့် “-enable-kernel=4.8.0” ဘောင်မဟတဆင့် Linux kernel 4.8+ အသုံသပဌုမဟုကို အတိအလင်သ ကန့်သတ်ထာသခဌင်သမရဟိပါက၊ executable stack ကို ယခုအသုံသပဌုထာသပါသည်။ အချို့သော MIPS ဖလဲ့စည်သမဟုပုံစံမျာသအတလက် စောင့်ကဌည့်လေ့လာသည်);
  • အချိန်စီမံခန့်ခလဲခဌင်သနဟင့်ပတ်သက်သည့် စနစ်ခေါ်ဆိုမဟုမျာသနဟင့်ပတ်သက်သည့် နဟောင်ကဌိုသမျာသကို time64 စနစ်ခေါ်ဆိုမဟုကို အသုံသပဌုရန် ရလဟေ့ထာသသည်၊ အကယ်၍ ရဟိနေပါက (32-bit စနစ်မျာသတလင် glibc သည် 64-bit အချိန်အမျိုသအစာသကို စီမံခန့်ခလဲသည့် စနစ်အသစ်ခေါ်ဆိုမဟုမျာသကို ပထမဆုံသကဌိုသစာသပဌီသ တစ်ခုမျဟမရဟိပါက၊ 32-bit calls အဟောင်သမျာသသို့ ပဌန်သလာသရန်။)

source: opennet.ru

မဟတ်ချက် Add