Glibc 2.34 帶來漏洞修復、Linux 新功能等

最近 Glibc 2.34 新版本發布 經過六個月的開發,其中進行了幾項非常重要的更改,其中包括 libpthread、libdl、libutil 和 libanl 庫,以及各種錯誤修復,其中一個導致阻塞。

對於不熟悉 Glibc 的人來說,應該知道它是什麼 一個 GNU C 庫, 俗稱 glibc 是標準的 GNU C 運行時庫。 在使用它的系統上,這個 C 庫 提供和定義系統調用和其他基本功能,幾乎所有程序都使用它。 

Glibc 2.34 的主要新特性

在這個新版本的 Glibc 2.34 中 libpthread、libdl、libutil 和 libanl 已集成到主庫中,在應用程序中使用其功能不再需要將它們與 -lpthread、-ldl、-lutil 和 -lanl 標誌綁定。

此外,提到了 已經準備好將libreolv集成到libc中, 其中集成 將允許更順暢的 glibc 更新過程 它將簡化運行時實現,並且還提供了存根庫以與使用早期版本的 glibc 構建的應用程序兼容。

關於集中在 Linux 上的變化 Glibc 2.34 突出了 添加了在配置中使用 64 位 time_t 類型的能力 傳統上使用 time_t 類型 32位. 此功能僅在具有內核 5.1 及更高版本的系統上可用。

Linux 的另一個具體變化是 execveat 函數的實現允許從打開的文件描述符運行可執行文件. 新函數還用於 fexecve 調用的實現,它不需要在啟動時掛載 /proc 偽文件系統。

還增加了這個功能 close_range() 適用於 Linux 5.9 版本 並且更高並且可以是 用於允許進程關閉所有文件描述符 同時打開,另外實現了glibc.pthread.stack_cache_size參數,可以用來調整pthread棧緩存的大小。

此外, 添加 _Fork 函數,替換 為了功能 滿足“異步信號安全”的要求,即可以從信號處理程序中安全調用。 在 _Fork 執行期間,形成了一個最小環境,足以調用 raise 和 execve 等信號處理程序中的函數,而無需調用可以更改鎖或內部狀態的功能。

對於Glibc 2.34修復的部分漏洞,提到以下幾點:

CVE-2021-27645: nscd 進程(名稱服務器緩存守護進程)由於在處理特製網絡組請求時對 free 函數的雙重調用而失敗。

CVE-2021-33574: 當使用 SIGEV_THREAD 通知類型和線程屬性(為其設置了替代 CPU 綁定掩碼)時,訪問 mq_notify 函數中已釋放(釋放後使用)的內存區域。 該問題可能導致崩潰,但不排除其他攻擊選項。

CVE-2021-35942: wordexp 函數中的參數大小溢出可能會導致應用程序崩潰。

其他變化 脫穎而出:

  • 已添加 ISO C2X 標準草案中定義的 timespec_getres 函數,並且增加了 timespec_get 函數,其功能類似於 POSIX clock_getres 函數。
  • 在 gconv-modules 文件中,只保留了最少量的主要 gconv 模塊,其餘的被移動到位於 gconv-modules.d 目錄中的附加 gconv-modules-extra.conf 文件中。
  • 使用符號鏈接將可安裝共享對象鏈接到 Glibc 版本已被刪除。 這些對象現在按原樣安裝(例如,libc.so.6 現在是一個文件,而不是指向 libc-2.34.so 的鏈接)。
  • 在 Linux 上,像 shm_open 和 sem_open 這樣的函數現在需要一個文件系統用於掛載在 /dev/shm 掛載點上的共享內存。

終於 如果您有興趣了解更多信息 這個新版本,您可以檢查 以下鏈接中提供了詳細信息。


發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責數據:MiguelÁngelGatón
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。