Phatlalatso ea Laeborari ea Tsamaiso ea Glibc 2.31

Ka mor'a likhoeli tse tšeletseng tsa tsoelo-pele e phatlalalitsoeng ho lokolloa ha laebrari ea tsamaiso Laeborari ea GNU C (glibc) 2.31, e lumellanang ka botlalo le litlhoko tsa ISO C11 le POSIX.1-2008. Phallo e ncha e kenyelletsa litokiso tse tsoang ho baetsi ba 58.

E kentsoe ho Glibc 2.31 ntlafatso o ka hlokomela:

  • E kenyellelitsoe _ISOC2X_SOURCE macro ho thusa bokhoni bo hlalositsoeng molemong oa bokamoso ba ISO EA-C2X. Likarolo tsena li boetse li sebelisoa ha u sebelisa _GNU_SOURCE macro kapa ha u haha ​​​​gcc ka "-std=gnu2x" folakha;
  • Bakeng sa mesebetsi e hlalositsoeng faeleng ea sehlooho "math.h" e pota-potileng liphetho tsa tsona ho mofuta o monyane, mefuta e tšoanang ea mofuta oa macro e hlahisoa faeleng "tgmath.h", joalo ka ha ho hlokoa ke litlhaloso TS 18661-1:2014 le TS. 18661-3: 2015;
  • Ts'ebetso ea pthread_clockjoin_np() e ekelitsoeng, e emelang hore khoele e phethe, ho nahanoa ka nako ea ho tsoa (haeba nako e fela pele e phethoa, mosebetsi o tla khutlisa phoso). Ho fapana le pthread_timedjoin_np(), ho pthread_clockjoin_np() hoa khoneha ho hlalosa mofuta oa timer bakeng sa ho bala nako ea nako - CLOCK_MONOTONIC (e nahanela nako e sebelisoang ke tsamaiso ka mokhoa oa ho robala) kapa CLOCK_REALTIME;
  • Hona joale DNS solver e ts'ehetsa khetho ea papatso ea tšepo ho /etc/resolv.conf le folakha ea RES_TRUSTAD ho _res.options, ha e behiloe, folakha ea DNSSEC e fetisoa ka likopo tsa DNS. AD (lintlha tse netefalitsoeng). Ka mokhoa ona, folakha ea AD e behiloeng ke seva e fumaneha ho lits'ebetso tse bitsang mesebetsi joalo ka res_search(). Ka nako e sa lekanyetsoang, haeba likhetho tse khothaletsoang li sa hlophisoa, glibc ha e hlakise folakha ea AD ho likopo mme e e hlakola ka bo eona likarabong, e bonts'a hore licheke tsa DNSSEC ha li eo;
  • Ho aha litlamo tsa mehala ea ts'ebetso bakeng sa Glibc ha ho sa hloka ho kenya lifaele tsa lihlooho tsa Linux kernel. Mokhelo ke 64-bit RISC-V ea meralo;
  • E felisitsoe bofokodi CVE-2019-19126, e leng se u lumellang hore u fetele tšireletso
    ASLR mananeong a nang le folakha ea setuid le ho khetholla sebopeho sa aterese lilaebraring tse laetsoeng ka ho thetsa LD_PREFER_MAP_32BIT_EXEC tikoloho.

Liphetoho tse senyang litšebelisano:

  • totalorder (), totalordermag (), le mesebetsi e ts'oanang ea mefuta e meng ea lintlha tse phaphametseng joale e amohela lintlha e le mabaka a ho tlosa litemoso mabapi le ho fetola boleng boemong ba naha. NaN, ho latela likhothaletso tsa TS 18661-1 tse reriloeng bakeng sa maemo a tlang a C2X.
    Li-executable tse teng tse fetisang lintlha tse phaphametseng ka kotloloho li tla tsoelapele ho sebetsa ntle le phetoho;

  • Ts'ebetso ea nako e telele ea stime ha e sa fumaneha bakeng sa li-binaries tse amanang le glibc, 'me tlhaloso ea eona e tlositsoe ho tloha nakong.h. Ho seta nako ea sistimi, sebelisa tšebetso ea clock_settime. Nakong e tlang, re rera ho tlosa ts'ebetso ea ftime e fokolisitsoeng, hammoho le faele ea hlooho ea sys/timeb.h (gettimeofday kapa clock_gettime e lokela ho sebelisoa ho e-na le ftime);
  • Ts'ebetso ea gettimeofday ha e sa fetisa tlhahisoleseling mabapi le sebaka sa nako ea sistimi ka bophara (ts'ebetso ena e ne e sebetsa matsatsing a 4.2-BSD mme e tlositsoe ka lilemo tse ngata). Khang ea 'tzp' joale e tlameha ho fetisoa null pointer, 'me mosebetsi oa localtime() o sebelisoe ho fumana lintlha tsa sebaka sa nako ho latela nako ea hajoale. Ho letsetsa gettimeofday ka khang ea 'tzp' e seng zero ho tla khutlisa tz_minuteswest le tz_dsttime masimo a sebaka sa nako. Ts'ebetso ea gettimeofday ka boeona e theotsoe tlas'a POSIX (clock_gettime e khothaletsoa sebakeng sa gettimeofday), empa ha ho na merero ea ho e tlosa ho glibc;
  • settimeofday ha e sa ts'ehetsa phetiso ea nako e le 'ngoe ea liparamente bakeng sa ho beha nako le nako ea ho lokisa nako. Ha o letsa settimeofday, e 'ngoe ea likhang (nako kapa offset) e tlameha ho felloa ke nako, ho seng joalo mohala oa tšebetso o tla hloleha ho ba le phoso ea EINVAL. Joalo ka gettimeofday, settimeofday function ha e sebetse ho POSIX 'me e khothaletsoa hore e nkeloe sebaka ke clock_settime function kapa lelapa la adjtime la mesebetsi;
  • Tšehetso bakeng sa meralo ea meralo ea SPRC ISA v7 e khaotsoe (ts'ehetso ea v8 e bolokiloe hajoale, empa ke li-processor tse tšehetsang litaelo tsa CAS, joalo ka li-processor tsa LEON, eseng li-processor tsa SuperSPARC).
  • Haeba pairing e hloleha ho "botsoa", moo sehokelo ha se batlisise matšoao a ts'ebetso ho fihlela pitso ea pele ea ts'ebetso eo, ts'ebetso ea dlopen joale e qobella ts'ebetso ho emisa (e neng e khutlisa NULL ka ho hloleha pele);
  • Bakeng sa MIPS hard-float ABI, stack e ka phethisoang e se e sebelisoa, ntle le haeba moaho o thibela ka ho hlaka tšebeliso ea Linux kernel 4.8+ ka "-enable-kernel = 4.8.0" parameter (e nang le li-kernels ho fihla ho 4.8, likotsi li teng. e hlokometsoeng bakeng sa litlhophiso tse ling tsa MIP);
  • Litlamo tse pota-potileng mehala ea sistimi e amanang le ho qhekella nako li tlositsoe ho sebelisa mohala oa sistimi ea time64, haeba e le teng (lits'ebetsong tsa 32-bit, glibc e qala ka ho leka mehala e mecha e laolang mofuta oa nako ea 64-bit, 'me haeba e le sieo, e oa. khutlela ho tsa khale li-call tsa 32-bit).

Source: opennet.ru

Eketsa ka tlhaloso