ááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯ ááŒá±á¬ááºáá¡ááŒá¬ááœááºá ISO C2.35 ááŸáá·áº POSIX.11-1 á á¶ááŸá¯ááºážáá»á¬áž á ááá¯á¡ááºáá»ááºáá»á¬ážááŸáá·áº á¡ááŒáá·áºá¡áááá¯ááºáá®ááá·áº GNU C Library (glibc) 2017 á áá áºá á¬ááŒáá·áºááá¯ááºááᯠáá¯ááºááŒááºááá¯ááºáá«áááºá á¡áá áºááœááºááŸááá¬ážáá±á¬ developer 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, fNxMfNx, fMfxmfNx áá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááᯠTS 18661-1:2014á TS 18661-3:2015 áááºááŸááºáá»ááºáá»á¬ážááœáẠáá±á¬áºááŒáá¬ážááŒá®áž á¡áá¬ááẠISO C2X C á á¶ááŸá¯ááºážáá°ááŒááºážááœáẠááá·áºááœááºážáá¬ážáááºá
- IN ááŸáá·áº IEEE 754-2019 áááºááŸááºáá»ááºááœááºáá±á¬áºááŒáá¬ážáá±á¬ float, long double, _FloatN ááŸáá·áº _FloatNx á¡áá»áá¯ážá¡á á¬ážáá»á¬ážáá«ááŸááá±á¬ á¡áááá·áºáá¯á¶ážááŸáá·áºá¡ááŒáá·áºáá¯á¶ážáá±á¬ floating point áá¶áá«ááºáá»á¬ážááᯠááŸá¬ááœá±áááºá¡ááœáẠáá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááŸáá·áº macro áá»á¬ážááᯠIEEE 2-XNUMX áááºááŸááºáá»ááºáá°ááŒááºážááœáẠááá·áºááœááºážááŒá®áž á¡áá¬ááẠISO CXNUMXX 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_SQRTfPIfá M_SQRT2 ááŸáá·áº M_SQRT1fá
- áá±á«ááºážá á®ážááá¯ááºááŸá exp10 áá¯ááºáá±á¬ááºáá»ááºáá»á¬ážá¡ááœáẠáá®ážááŒá¬ážá¡áá»áá¯ážá¡á á¬ážáá»á¬ážááŸáá·áº ááááºááá¯ááºáá±á¬ áááºáááá¯áá»á¬ážááᯠáá±á«ááºážááá·áºáá¬ážáááºá
- IN ISO C2X á á¶ááŸá¯ááºážáá°ááŒááºážááœáẠá¡ááá¯ááŒá¯áá¬ážááá·áº _PRINTF_NAN_LEN_MAX áááºáááá¯ááᯠááá·áºááœááºážáá¬ážáááºá
- "%b" ááŸáá·áº "%B" áá±á¬áºáááºáááºááŸááºáá±ážááá·áºá¡áá¬áá»á¬ážááᯠááááºážááááºážáá»á¬ážááᯠbinary ááá¯ááºá á¬ážááŒá¯ááŸá¯ááŒáá·áº áááá·áºáá¯ááºáááºá¡ááœáẠáá¯ááºáá±á¬ááºáá»ááºáá»á¬ážá printf áááá¬ážá á¯ááœáẠááá·áºááœááºážáá²á·áááºá
- ááá¯ááºážááá áºáá»áááºáááºááŒááºážá áá áºááẠááœááºážáááºááŸá®ááá¯ááŸá¯áá»á¬ážá¡á¬áž ááá¯ááºááœááºááá·áºá¡áá« á áœááºážáá±á¬ááºáááºááá¯ááºáá¬ááŒá¿áá¬áá»á¬ážááᯠááŒá±ááŸááºážáááºá¡ááœáẠá¡áááºáá±á¬ááºáááááŸá¬ááœá±ááŸá¯ (DFS) ááá¯á¡áá¯á¶ážááŒá¯ááá·áº DSO á á®ááœá²ááŒááºážááá¯ááºáᬠá¡ááºáááá¯áá®áááºá¡áá áºááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºáááºá DSO á¡áá»áá¯ážá¡á á¬ážááœá²ááŒááºážááá¯ááºáᬠá¡ááºáááá¯áá®áááºááᯠááœá±ážáá»ááºáááºá glibc.rtld.dynamic_sort áá±á¬ááºááᯠá¡ááá¯ááŒá¯áá¬ážáááºá áááºážááẠá¡ááºááá¯áá®áááºáá±á¬ááºážááá¯á· ááŒááºááŸáá·áºááẠ"1" áᯠáááºááŸááºááá¯ááºáááºá
- ABI ááẠáá¯ááºáá±á¬ááºáá»ááºáá áºáá¯áááŒá®ážááŒá±á¬ááºááŸá¯á¡ááŒá±á¡áá±ááá¯á á áºáá±ážáááºá¡ááœááºáá¬á¡áá¯á¶ážááŒá¯áá«á 'memcmp' á¡áá¯á¶ážááŒá¯ááŸá¯ááᯠááá¯áá±á¬ááºážá¡á±á¬ááºááŒá¯áá¯ááºááẠcompilers ááŸá¡áá¯á¶ážááŒá¯ááá·áº '__memcmpeq' áá¯ááºáá±á¬ááºáá»ááºá¡áá áºá¡ááœáẠáá¶á·ááá¯ážááŸá¯áááºáá±á¬ááºážáá±ážáá¬ážáá«áááºá
- Linux kernel 4.18 ááŸá á áá¶á·ááá¯ážáá±ážáá¬ážááá·áº rseq (ááŒááºáááºá áááºááá¯ááºáá±á¬ á¡á á®á¡á ááºáá»á¬áž) á áá áºáá±á«áºááá¯ááŸá¯ááᯠá¡áá¯á¶ážááŒá¯á á á¬ááœá²áá»á¬ážááᯠá¡ááá¯á¡áá»á±á¬ááºááŸááºáá¯á¶áááºááŒááºážá¡ááœáẠáá¶á·ááá¯ážááŸá¯ áááºáá±á¬ááºážááá·áºááœááºážáá¬ážáááºá rseq á áá áºáá±á«áºááá¯ááŸá¯ááẠááá·áºá¡á¬áž á¡ááŸá±á¬ááºá¡ááŸááºáááŸááá±á¬ ááœáŸááºááŒá¬ážáá»ááºá¡á¯ááºá á¯áá áºá á¯á á ááºáááºáááŒááºáá¯ááºáá±á¬ááºááŸá¯ááᯠá á¯á ááºážá á±ááŒá®áž á¡á¯ááºá á¯á¡ááœááºážááŸá áá±á¬ááºáá¯á¶ážááœáŸááºááŒá¬ážáá»ááºááŒáá·áº ááááºááᯠá¡áááºááŒá¯áá±ážááá¯ááºáááºá á¡ááŒá±áá¶á¡á¬ážááŒáá·áºá áááºážááẠá¡ááŒá¬ážáá±á¬ áá»ááºáá»áŸááºáá»á¬ážááŒáá·áº ááŸá±á¬ááºááŸááºáá«á ááŸááºážáááºážááŒá®áž áááºáá¶ááŒáá¯ážá á¬ážááá·áº á¡ááœááºáá»ááºááŒááºáá±á¬ á¡ááºáááºáá¯ááºáá±á¬ááºááŸá¯áá»á¬ážá¡ááœáẠáááºážáááºážáá áºáá¯ááᯠáá¶á·ááá¯ážáá±ážáá«áááºá
- symlink /usr/bin/ld.so ááá·áºáá¬ážáááºá
- ááá·áºááœááºážáá¬ážáá±á¬ áááá¯ááááºáá»á¬ážá áá¯ááºáá±á¬ááºááá¯ááºáá±á¬ ááá¯ááºáá»á¬ážá¡á¬ážáá¯á¶ážá áá°áááºážá á¯áá±ážááŸá¯ááŸáá·áº PIE (áááºáááºááŸá¯ áá®ážááŒá¬ážáá¯ááºáá±á¬ááºááá¯ááºáá±á¬) áá¯ááºááœáẠáááºááŸááºáá¬ážááá·áº á ááºážáááºááŸá¯ááᯠáá±ážáá¬ážáááºá á€á¡ááŒá¯á¡áá°ááᯠááááºáááºá "--disable-default-pie" option ááᯠáá±ážáá¬ážáááºá
- Linux á¡ááœááºá MAP_HUGETLB á¡áá¶ááᯠmmap ááŸáá·áº sbrk á¡ááœáẠMADV_HUGEPAGE á¡áá¶ááŒáá·áº á¡áá¯á¶ážááŒá¯áááºá¡ááœáẠmalloc á¡áá±á¬ááºá¡áááºáá±á¬áºááŸá¯ááᯠááŒá±á¬ááºážááá¯ááºá á±ááẠglibc.malloc.hugetlb áááºáááºááᯠáá±á«ááºážááá·áºáá¬ážáá«áááºá áá±á«áºááá¯ááŸá¯áá»á¬ážá áááááá á¹á ááœááºá Transparent Huge Pages áá»á¬ážááᯠMadvise áá¯ááºááœááºá¡áá¯á¶ážááŒá¯áá«áá áá¯áááá¡ááŒá±á¡áá±ááœááºá á áá áºáá®ážááá·áºáá¬ážááŸááá±á¬ Huge Pages áá»á¬ážááᯠá¡áá¯á¶ážááŒá¯ááá¯ááºá áœááºážááᯠáá¶á·ááá¯ážáá±ážáá«áááºá
- áá±á«áºááá¯ááŸá¯á¡á á¯á¡áá±ážá¡áá»ááºá¡áááºááᯠááŒá¯ááºážáá®ážáááºá¡ááœáẠááá·áºááœááºážá¡áá¯á¶ážááŒá¯ááá¯ááºááá·áº _dl_find_object áá¯ááºáá±á¬ááºáá»ááºááᯠááá·áºááœááºážáá¬ážáááºá
- Soft-float áá¯ááºááœáẠOpenRISC áááá¯áᬠ(ááá¯á·ááá¯áẠ1k-linux-gnu) á¡ááœáẠáá¶á·ááá¯ážááŸá¯ áááºááá·áºáá¬ážáááºá ááááºáááºážááẠbinutils 2.35á GCC 11 ááŸáá·áº Linux kernel 5.4 ááá¯á¡ááºáááºá
- dynamic linking á¡ááœáẠáááŠážáá¯ááºááᯠáááºáá±á¬ááºáá¬ááœáẠá¡áá¯á¶ážááŒá¯ááá·áº áááºáá±á¬ááºážá á¯á ááºážááŸá¯á¡áá¶áá»á¬ážááᯠáááºááŸááºááẠá¡áá¯á¶ážááŒá¯ááá¯ááºááá·áº áááºáá±á¬ááºá¡áᶠ"--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â áá¯ááºá០ááŒá¬ážáá¬ážáá»ááºááẠá áœááºážáá±á¬ááºááẠáá»áááºážááœá¬ážá á±ááẠá¡áá¬ážá¡áá¬ááŸááá±á¬ áá±á¬ááºáááºá á áºáá±ážááŸá¯áá»á¬ážáá®ááá¯á· áá±á¬ááºááŸááá¬áá«áááºá
- Memory bounds á¡ááœáẠpointers áá»á¬ážááᯠá á áºáá±ážáááºá¡ááœáẠá¡áá¯á¶ážááŒá¯ááá·áº Intel MPX (Memory Protection Extensions) á¡ááœáẠáá¶á·ááá¯ážááŸá¯á¡á¬áž áááºááá¯ááºážááá¯ááºáá«ááŒá® (á€áááºážááá¬ááẠááœááºááœááºáá»ááºáá»áẠáááŒá áºáá±ážáá² GCC ááŸáá·áº LLVM ááá¯á·á០áááºááŸá¬ážááŒá®ážáá¬ážááŒá áºáááº)á
- ááŒáá¯áááºááá·áºááºááá¹ááá¬ážááŸáá·áº áááºážááááºá
ááºáááºáááºážáá»áẠááááºážááŸááºáá»á¬áž LD_TRACE_PRELINKING ááŸáá·áº LD_USE_LOAD_BIAS ááᯠáááºááá¯ááºážáá¬ážááŒá®áž á¡áá¬áááºáá¯ááºáá±ááŸá¯ááœáẠáááºááŸá¬ážáá«áááºá
á¡á¬ážáááºážáá»ááºáá»á¬ážááᯠááŒááºáááºáá¬ážáááº-
- CVE-2022-23218á CVE-2022-23219 â svcunix_create ááŸáá·áº clnt_create áá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááœáẠBuffer overflow ááẠáá°ážáá°áá¬ážáá±á¬ data á á¡ááœááºá¡á á¬ážááᯠáá á áºáá±ážáá² ááá¯ááºá¡áááºáá«áá¬áá®áá¬á á¡ááŒá±á¬ááºážá¡áá¬áá»á¬ážááᯠstack áá±á«áºááá¯á· áá°ážáá°ááŒááºážááŒá±á¬áá·áº ááŒá áºáá±á«áºáá¬ááŒááºážááŒá áºáááºá stack á¡áá¬á¡ááœááºááá«áá² áááºáá±á¬ááºáá¬ážáá±á¬ á¡ááá®áá±ážááŸááºážáá»á¬ážááŸáá·áº "unix" áááá¯ááá¯áá±á¬ááᯠá¡áá¯á¶ážááŒá¯ááŒááºážá¡ááœááºá á¡á¬ážáááºážáá»ááºááẠá¡ááœááºááŸááºáá»á¬ážáá±á¬ ááá¯ááºá¡áááºáá»á¬ážááᯠáá¯ááºáá±á¬ááºáá±á¬á¡áá«ááœáẠááá¯ááºááá¯ááºáá°áá¯ááºááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºááẠáŠážáááºááœá¬ážááá¯ááºáááºá
- CVE-2021-3998 ááẠá¡á á¯á¡á ááºážá០áááá·áºááŸááºážáá±á¬ áá»ááºááŸááá±áá±á¬ áá±áá¬áá»á¬ážáá«ááŸááá±á¬ áááŸááºáááºáá±á¬ áááºááá¯ážáá áºáá¯á á¡áá»áá¯á·áá±á¬á¡ááŒá±á¡áá±áá»á¬ážá¡á±á¬ááºááœáẠááŒááºááá¯á·ááŒááºážááŒá±á¬áá·áº realpath() áá¯ááºáá±á¬ááºáá»ááºááœáẠá¡á¬ážáááºážáá»ááºáá áºáá¯ááŒá áºáááºá SUID-root fusermount áááá¯ááááºá¡ááœááºá á¥ááá¬á pointers ááŸáá·áºáááºáááºáá±á¬ á¡áá»ááºá¡áááºáááŸáááẠáá¯ááºáááºážá ááºááŸááºáá¬ááºá០á¡áá±ážááŒá®ážáá±á¬á¡áá»ááºá¡áááºáá»á¬ážááᯠááá°ááẠá¡á¬ážáááºážáá»ááºááᯠá¡áá¯á¶ážááŒá¯ááá¯ááºáááºá
- CVE-2021-3999 - getcwd() áá¯ááºáá±á¬ááºáá»ááºááŸá Single-byte ááŒá¬ážáᶠááŒáá·áºáá»áŸá¶ááŸá¯á á¡ááá¯áá«ááŒá¿áá¬ááẠ1995 áá¯ááŸá áºááááºážáááŸááá±áá²á·áá±á¬ bug ááŒá±á¬áá·áºááŒá áºáááºá ááŒáá·áºáá»áŸá¶ááŸá¯ááŒá áºá á±áááºá¡ááœáẠáá®ážááŒá¬áž mount point namespace ááŸá "/" directory ááœáẠchdir() ááá¯áá±á«áºááá¯áá«á
source: opennet.ru