ΠΠΎΡΠ»Π΅ ΡΠ΅ΡΡΠΈ ΠΌΠ΅ΡΡΡΠ΅Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ ΡΠ΅Π»ΠΈΠ· ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ GNU C Library (glibc) 2.35, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌ ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠ² ISO C11 ΠΈ POSIX.1-2017. Π ΡΠΎΡΡΠ°Π² Π½ΠΎΠ²ΠΎΠ³ΠΎ Π²ΡΠΏΡΡΠΊΠ° Π²ΠΊΠ»ΡΡΠ΅Π½Ρ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΡ 66 ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ².
ΠΠ· ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΡ Π² Glibc 2.35 ΡΠ»ΡΡΡΠ΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΌΠ΅ΡΠΈΡΡ:
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π»ΠΎΠΊΠ°Π»ΠΈ «C.UTF-8», Π²ΠΊΠ»ΡΡΠ°ΡΡΠ΅ΠΉ ΠΏΡΠ°Π²ΠΈΠ»Π° ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ Π΄Π»Ρ Π²ΡΠ΅Ρ Unicode-ΠΊΠΎΠ΄ΠΎΠ², Π½ΠΎ Π΄Π»Ρ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΠΈ ΠΌΠ΅ΡΡΠ° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ASCII-Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠ² Π² ΡΡΠ½ΠΊΡΠΈΡΡ fnmatch, regexec ΠΈ regcomp. ΠΠΎΠΊΠ°Π»Ρ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΠΎΠΊΠΎΠ»ΠΎ 400 ΠΠ, ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ 346 ΠΠ ΡΠΎΡΡΠ°Π²Π»ΡΡΡ Π΄Π°Π½Π½ΡΠ΅ LC_CTYPE Π΄Π»Ρ Unicode, ΠΈ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ (Π½Π΅ Π²ΡΡΡΠΎΠ΅Π½Π° Π² Glibc).
- ΠΠ°Π½Π½ΡΠ΅ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΎΠΊ, ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΈΠΏΠ°Ρ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΈ ΡΠ°Π±Π»ΠΈΡΡ ΡΡΠ°Π½ΡΠ»ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Unicode 14.0.0.
- Π <math.h> ΠΈ <tgmath.h> ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΌΠ°ΠΊΡΠΎΡΡ, ΠΎΠΊΡΡΠ³Π»ΡΡΡΠΈΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ ΡΠ·ΠΊΠΎΠ³ΠΎ ΡΠΈΠΏΠ°: fsqrt, fsqrtl, dsqrtl, ffma, ffmal, dfmal, fMsqrtfN, fMsqrtfNx, fMxsqrtfN, fMxsqrtfNx, fMfmafN, fMfmafNx, fMxfmafN ΠΈ fMxfmafNx. Π€ΡΠ½ΠΊΡΠΈΠΈ ΠΎΠΏΠΈΡΠ°Π½Ρ Π² ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΡ TS 18661-1:2014, TS 18661-3:2015 ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π² ΡΠ΅ΡΠ½ΠΎΠ²ΠΈΠΊ Π±ΡΠ΄ΡΡΠ΅Π³ΠΎ Π‘ΠΈ-ΡΡΠ°Π½Π΄Π°ΡΡΠ° ISO C2X.
- Π <math.h> ΠΈ <tgmath.h> ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΌΠ°ΠΊΡΠΎΡΡ Π΄Π»Ρ Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΌΠΈΠ½ΠΈΠΌΡΠΌΠ° ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌΠ° ΡΠΈΡΠ΅Π» Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ Π·Π°ΠΏΡΡΠΎΠΉ Ρ ΡΠΈΠΏΠ°ΠΌΠΈ float, long double, _FloatN ΠΈ _FloatNx, ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π² ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ IEEE 754-2019 ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΠ΅ Π² ΡΠ΅ΡΠ½ΠΎΠ²ΠΈΠΊ Π±ΡΠ΄ΡΡΠ΅Π³ΠΎ Π‘ΠΈ-ΡΡΠ°Π½Π΄Π°ΡΡΠ° ISO C2X: fmaximum, fmaximum_num, fmaximum_mag, fmaximum_mag_num, fminimum, fminimum_num, fminimum_mag, fminimum_mag_num.
- Π <math.h> Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ Π΄Π»Ρ ΡΠΈΡΠ΅Π» Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ Π·Π°ΠΏΡΡΠΎΠΉ ΠΎΠ΄ΠΈΠ½Π°ΡΠ½ΠΎΠΉ ΡΠΎΡΠ½ΠΎΡΡΠΈ: 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_SQRT2f ΠΈ M_SQRT1_2f.
- ΠΠ»Ρ ΡΡΠ½ΠΊΡΠΈΠΉ exp10 Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» <tgmath.h> Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΌΠ°ΠΊΡΠΎcΡ, Π½Π΅ ΠΏΡΠΈΠ²ΡΠ·Π°Π½Π½ΡΠ΅ ΠΊ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΌ ΡΠΈΠΏΠ°ΠΌ.
- Π <stdio.h> Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΌΠ°ΠΊΡΠΎΡ _PRINTF_NAN_LEN_MAX, ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΡΠΉ Π² ΡΠ΅ΡΠ½ΠΎΠ²ΠΈΠΊΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ° ISO C2X.
- Π ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π° printf Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ ΡΠΎΡΠΌΠ°ΡΠ° «%b» ΠΈ «%B» Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΡΠ΅Π»ΡΡ ΡΠΈΡΠ΅Π» Π² Π΄Π²ΠΎΠΈΡΠ½ΠΎΠΌ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ.
- Π ΡΠΈΡΡΠ΅ΠΌΠ΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ²ΡΠ·ΡΠ²Π°Π½ΠΈΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π½ΠΎΠ²ΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ DSO, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΠΎΠΈΡΠΊΠ° Π² Π³Π»ΡΠ±ΠΈΠ½Ρ (DFS) Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ Π·Π°ΡΠΈΠΊΠ»Π΅Π½Π½ΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ. ΠΠ»Ρ Π²ΡΠ±ΠΎΡΠ° Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ DSO ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ glibc.rtld.dynamic_sort, ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ «1» Π΄Π»Ρ ΠΎΡΠΊΠ°ΡΠ° Π½Π° ΡΡΠ°ΡΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ.
- Π ABI Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π½ΠΎΠ²ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ‘__memcmpeq’, ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°ΠΌΠΈ Π΄Π»Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ‘memcmp’, Π² ΡΠ»ΡΡΠ°Π΅ Π΅ΡΠ»ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΡΠ°ΡΡΡΠ° Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΠΏΠΎΡΠΎΠΊΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ² rseq (restartable sequences), ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΠΉ Π½Π°ΡΠΈΠ½Π°Ρ Ρ ΡΠ΄ΡΠ° Linux 4.18. Π‘ΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ² rseq ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°ΡΡ Π½Π΅ΡΠ°Π·ΡΡΠ²Π½ΠΎΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π³ΡΡΠΏΠΏΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ, Π½Π΅ ΠΏΡΠ΅ΡΡΠ²Π°Π΅ΠΌΠΎΠΉ ΠΈ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π°ΡΡΠ΅ΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠ΅ΠΉ Π² Π³ΡΡΠΏΠΏΠ΅. ΠΠΎ ΡΡΡΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ Π΄Π»Ρ ΠΎΡΠ΅Π½Ρ Π±ΡΡΡΡΠΎΠ³ΠΎ Π°ΡΠΎΠΌΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π² ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ Π΄ΡΡΠ³ΠΈΠΌ ΠΏΠΎΡΠΎΠΊΠΎΠΌ ΠΎΡΠΈΡΠ°ΡΡΡΡ ΠΈ ΠΏΡΠ΅Π΄ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅ΡΡΡ ΠΏΠΎΠ²ΡΠΎΡΠ½Π°Ρ ΠΏΠΎΠΏΡΡΠΊΠ° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΡΡΠ»ΠΊΠ° /usr/bin/ld.so.
- ΠΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½Π° ΡΠ±ΠΎΡΠΊΠ° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π²ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΈ ΡΠ΅ΡΡΠΎΠ²ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡΠ° Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ PIE (position independent executable). ΠΠ»Ρ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½Π° ΠΎΠΏΡΠΈΡ «—disable-default-pie».
- ΠΠ»Ρ Linux Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠ° glibc.malloc.hugetlb, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ°Ρ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ malloc Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° madvise Ρ ΡΠ»Π°Π³ΠΎΠΌ MADV_HUGEPAGE Π΄Π»Ρ mmap ΠΈ sbrk ΠΈΠ»ΠΈ Π½Π°ΠΏΡΡΠΌΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±ΠΎΠ»ΡΡΠΈΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ ΠΏΠ°ΠΌΡΡΠΈ ΡΠ΅ΡΠ΅Π· ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΡΠ»Π°Π³Π° MAP_HUGETLB Π² Π²ΡΠ·ΠΎΠ²Π°Ρ mmap. Π ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±ΠΈΡΡΡΡ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, Π΅ΡΠ»ΠΈ Transparent Huge Pages ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ madvise, Π° Π²ΠΎ Π²ΡΠΎΡΠΎΠΌ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π·Π°ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ Π±ΠΎΠ»ΡΡΠΈΡ ΡΡΡΠ°Π½ΠΈΡ (Huge Pages).
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΡΡΠ½ΠΊΡΠΈΡ _dl_find_object, ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΡΠ°ΡΠΊΡΡΡΠΊΠ΅ ΡΡΠ΅ΠΊΠ° Π²ΡΠ·ΠΎΠ²ΠΎΠ² (unwind).
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ OpenRISC (or1k-linux-gnu) Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ Π·Π°ΠΏΡΡΠΎΠΉ (soft-float). ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ ΠΏΠΎΡΡΠ° ΡΡΠ΅Π±ΡΠ΅ΡΡΡ binutils 2.35, GCC 11, ΠΈ ΡΠ΄ΡΠΎ Linux 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).
- ΠΠ±ΡΡΠ²Π»Π΅Π½ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠΌ ΠΈ Π±ΡΠ΄Π΅Ρ ΡΠ΄Π°Π»ΡΠ½ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ Π²ΡΠΏΡΡΠΊΠ΅ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌ prelink ΠΈ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ Π½ΠΈΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ LD_TRACE_PRELINKING ΠΈ LD_USE_LOAD_BIAS.
Π£ΡΡΡΠ°Π½Π΅Π½Ρ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ:
- CVE-2022-23218, CVE-2022-23219 — ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π±ΡΡΠ΅ΡΠ° Π² ΡΡΠ½ΠΊΡΠΈΡΡ svcunix_create ΠΈ clnt_create, Π²ΡΠ·Π²Π°Π½Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π² ΡΡΠ΅ΠΊ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡΠ°ΠΉΠ»Π° Π±Π΅Π· ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΊΠΎΠΏΠΈΡΡΠ΅ΠΌΡΡ Π΄Π°Π½Π½ΡΡ . ΠΠ»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΡΠΎΠ±ΡΠ°Π½Π½ΡΡ Π±Π΅Π· Π·Π°ΡΠΈΡΡ ΡΡΠ΅ΠΊΠ° ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» «unix», ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π° Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊΠ° ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΎΡΠ΅Π½Ρ Π΄Π»ΠΈΠ½Π½ΡΡ ΠΈΠΌΡΠ½ ΡΠ°ΠΉΠ»ΠΎΠ².
- CVE-2021-3998 — ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡ Π² ΡΡΠ½ΠΊΡΠΈΠΈ realpath(), Π²ΡΠ·Π²Π°Π½Π½Π°Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ ΡΡΠ»ΠΎΠ²ΠΈΡΡ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅Π³ΠΎ Π½Π΅ΠΎΡΠΈΡΠ΅Π½Π½ΡΠ΅ ΠΎΡΡΠ°ΡΠΎΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· ΡΡΠ΅ΠΊΠ°. ΠΠ»Ρ SUID-root ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ fusermount ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΠ²Π΅Π΄Π΅Π½ΠΈΠΉ ΠΈΠ· ΠΏΠ°ΠΌΡΡΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ²Π΅Π΄Π΅Π½ΠΈΠΉ ΠΎΠ± ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΡΡ .
- CVE-2021-3999 — ΠΎΠ΄Π½ΠΎΠ±Π°ΠΉΡΠΎΠ²ΠΎΠ΅ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π±ΡΡΠ΅ΡΠ° Π² ΡΡΠ½ΠΊΡΠΈΠΈ getcwd(). ΠΡΠΎΠ±Π»Π΅ΠΌΠ° Π²ΡΠ·Π²Π°Π½Π° ΠΎΡΠΈΠ±ΠΊΠΎΠΉ, ΠΏΡΠΈΡΡΡΡΡΠ²ΡΡΡΠ΅ΠΉ Ρ 1995 Π³ΠΎΠ΄Π°. ΠΠ»Ρ Π²ΡΠ·ΠΎΠ²Π° ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΌ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΈΠΌΡΠ½ ΡΠΎΡΠ΅ΠΊ ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π²ΡΠ·ΠΎΠ² chdir() Π΄Π»Ρ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° «/».
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru