XNUMXか月の開発期間を経て システムライブラリのリリース (glibc) 、ISO C11 および POSIX.1-2017 の要件に完全に準拠しています。 新しいリリースには、67 人の開発者による修正が含まれています。
Glibc 2.32で実装 あなたは注意することができます:
- Synopsys ARC HS (ARCv2 ISA) プロセッサのサポートを追加しました。この移植には、binutils 2.32、gcc 8.3、およびカーネルが最低限必要です。 Linux 5.1. 3つのABIバリアントがサポートされています:arc-linux-gnu、arc-linux-gnuhf、およびarceb-linux-gnu(ビッグエンディアン)。
- DT_AUDITおよびセクションで指定された監査モジュールのロードを実装しました。
実行可能ファイルの DT_DEPAUDIT。 - powerpc64le アーキテクチャでは、IEEE128 long double 型のサポートが実装されており、これは "-mabi=ieeelongdouble" オプションを使用してビルドすると有効になります。
- 一部の API には GCC の「access」属性が注釈付けされており、これにより、GCC 10 はコンパイル時に潜在的なバッファ オーバーフローやその他の範囲外条件に対してより適切な警告を生成できるようになります。
- のために Linux-システムは関数pthread_attr_setsigmask_npと
pthread_attr_getsigmask_np は、アプリケーションが pthread_create で作成されたスレッドのシグナル マスクを指定できるようにします。 - Unicode 13.0.0 仕様をサポートするために、エンコード データ、文字タイプ情報、および音訳テーブルが更新されました。
- 新しいヘッダーファイルを追加しましたは、シングルスレッドの最適化のためにアプリケーションで使用できる __libc_single_threaded 変数を定義します。
- シグナルの省略名と説明を返す sigabbrev_np および sigdescr_np 関数を追加しました (例: SIGHUP の場合は「HUP」と「Hangup」)。
- エラーの名前と説明を返す strerrorname_np 関数と strerrordesc_np 関数を追加しました (例: EINVAL の場合、「EINVAL」と「無効な引数」)。
- ARM64プラットフォームでは、「--enable-standard-branch-protection」フラグ(GCCでは-mbranch-protection=standard)が追加されました。これにより、ARMv8.5-BTI(分岐ターゲットインジケーター)メカニズムが有効になり、分岐時にジャンプすべきでない命令セットの実行が保護されます。任意のコードセクションへのジャンプをブロックする機能は、リターン指向プログラミング(ROP - Return-Oriented Programming、攻撃者はコードをメモリに配置するのではなく、リターン命令で終わる既存の機械語命令群を操作し、そこから呼び出しチェーンを構築して目的の機能を実現します)を用いたエクスプロイトにおけるガジェットの作成に対抗するために実装されています。
- 廃止予定の機能が大幅に整理され、「--enable-obsolete-rpc」および「--enable-obsolete-nsl」オプション、ヘッダーファイルの削除などが含まれるようになりました。関数 sstk、siginterrupt、sigpause、sighold、sigrelse、sigignore、sigset、配列 sys_siglist、_sys_siglist、sys_sigabbrev、シンボル sys_errlist、_sys_errlist、sys_nerr、_sys_nerr、NSS モジュール hesiod は廃止予定と宣言されました。
- ldconfig は、glibc で約 20 年間サポートされてきた新しい ld.so.cache 形式を使用するようにデフォルトに変更されました。
- 修正された脆弱性:
- CVE-2016-10228 - 無効なマルチバイトデータを処理する際に、-c オプションを指定して実行すると、iconv ユーティリティでループが発生します。
- CVE-2020-10029 - 疑似 null 引数を使用して三角関数を呼び出すとスタックが破損する。
- CVE-2020-1752 - パス内のホーム ディレクトリ参照 ("~user") を展開する際の glob 関数における解放後使用の問題。
- CVE-2020-6096 - ARMv7 プラットフォーム上で、コピーされた領域のサイズを決定する memcpy() および memmove() 内のパラメータの負の値の処理が正しくない。 memcpy() および memmove() 関数で特定の方法でフォーマットされたデータを処理するときに、コードの実行を整理します。問題は重要である 公開されてから約 2 か月間、Glibc 開発者への通知から 5 か月間、パッチが適用されていません。
出所: オープンネット.ru
