Rilis Perpustakaan Sistem Glibc 2.32

Setelah enam bulan pengembangan diterbitkan rilis perpustakaan sistem Perpustakaan GNU C (glibc) 2.32, yang sepenuhnya mematuhi persyaratan standar ISO C11 dan POSIX.1-2017. Rilis baru ini mencakup perbaikan dari 67 pengembang.

Dari yang diimplementasikan di Glibc 2.32 perbaikan Anda dapat mencatat:

  • Menambahkan dukungan untuk prosesor Synopsys ARC HS (ARCv2 ISA). Port ini memerlukan setidaknya binutils 2.32, gcc 8.3, dan kernel Linux 5.1 agar dapat dijalankan. Tiga varian ABI yang didukung: arc-linux-gnu, arc-linux-gnuhf dan arceb-linux-gnu (big-endian);
  • Memuat modul audit yang ditentukan di bagian DT_AUDIT dan
    DT_DEPAUDIT dari file yang dapat dieksekusi.

  • Untuk arsitektur powerpc64le, dukungan untuk tipe long double IEEE128 diterapkan, yang diaktifkan saat membangun dengan opsi β€œ-mabi=ieeelongdouble”.
  • Beberapa API dianotasi dengan atribut 'access' GCC, yang memungkinkan peringatan yang lebih baik dihasilkan saat dikompilasi di GCC 10 untuk mendeteksi kemungkinan buffer overflows dan skenario di luar batas lainnya.
  • Untuk sistem Linux, fungsi pthread_attr_setsigmask_np dan
    pthread_attr_getsigmask_np, yang memberikan aplikasi kemampuan untuk menentukan masker sinyal untuk thread yang dibuat menggunakan pthread_create.

  • Data pengkodean, informasi tipe karakter, dan tabel transliterasi telah diperbarui untuk mendukung spesifikasi Unicode 13.0.0;
  • Menambahkan file header baru yang mendefinisikan variabel __libc_single_threaded, yang dapat digunakan dalam aplikasi untuk optimasi single-threaded.
  • Menambahkan fungsi sigabbrev_np dan sigdescr_np yang mengembalikan nama singkat dan deskripsi sinyal (misalnya, β€œHUP” dan β€œHangup” untuk SIGHUP).
  • Menambahkan fungsi strerrorname_np dan strerrordesc_np yang mengembalikan nama dan deskripsi kesalahan (misalnya, "EINVAL" dan "Argumen tidak valid" untuk EINVAL).
  • Untuk platform ARM64, tanda "--enable-standard-branch-protection" telah ditambahkan (atau -mbranch-protection=standard di GCC), yang memungkinkan mekanisme ARMv8.5-BTI (Branch Target Indicator) untuk melindungi eksekusi set instruksi yang tidak boleh dieksekusi transisi percabangan. Pemblokiran transisi ke bagian kode yang sewenang-wenang diterapkan untuk mencegah pembuatan gadget dalam eksploitasi yang menggunakan teknik pemrograman berorientasi kembali (ROP - Pemrograman Berorientasi Kembali; penyerang tidak mencoba menempatkan kodenya di memori, tetapi beroperasi pada bagian yang sudah ada instruksi mesin yang diakhiri dengan instruksi kontrol kembali, yang darinya rangkaian panggilan dibangun untuk memperoleh fungsionalitas yang diinginkan).
  • Pembersihan besar-besaran terhadap fitur lama telah dilakukan, termasuk penghapusan opsi β€œ--enable-obsolete-rpc” dan β€œ--enable-obsolete-nsl” serta file header . Fungsi sstk, siginterrupt, sigpause,sighold, sigrelse, sigignore dan sigset, array sys_siglist, _sys_siglist dan sys_sigabbrev, simbol sys_errlist, _sys_errlist, sys_nerr dan _sys_nerr, serta modul NSS hesiod sudah tidak digunakan lagi.
  • ldconfig telah dipindahkan secara default untuk menggunakan format ld.so.cache baru, yang telah didukung di glibc selama hampir 20 tahun.
  • Kerentanan diperbaiki:
    • CVE-2016-10228 – Perulangan dalam utilitas iconv terjadi saat dijalankan dengan opsi β€œ-c” saat memproses data multi-byte yang salah.
    • CVE-2020-10029 Tumpukan kerusakan saat memanggil fungsi trigonometri dengan argumen pseudo-null.
    • CVE-2020-1752 - Akses memori yang digunakan setelah bebas dalam fungsi glob saat memperluas referensi ke direktori home (β€œ~pengguna”) di jalur.
    • CVE-2020-6096 – Penanganan yang salah pada platform ARMv7 terhadap nilai parameter negatif di memcpy() dan memmove(), yang menentukan ukuran area yang disalin. Izinkan mengatur eksekusi kode saat memproses data yang diformat dengan cara tertentu dalam fungsi memcpy() dan memmove(). Ini adalah masalah yang signifikan tetap tidak dikoreksi selama hampir dua bulan sejak informasi tersebut diungkapkan kepada publik dan lima bulan sejak pengembang Glibc diberitahu.

Sumber: opennet.ru

Tambah komentar