Glibc 2.34 ra mắt với các bản sửa lỗi, các chức năng mới cho Linux và hơn thế nữa

Gần đây việc phát hành phiên bản mới của Glibc 2.34 đã được công bố xuất hiện sau sáu tháng phát triển và trong đó một số thay đổi khá quan trọng đã được thực hiện, trong đó việc bao gồm các thư viện libpthread, libdl, libutil và libanl, cũng như các bản sửa lỗi khác nhau mà một trong số chúng đã gây ra tắc nghẽn.

Đối với những người không quen với Glibc, họ nên biết nó là gì một thư viện GNU C, thường được gọi là glibc là thư viện thời gian chạy GNU C tiêu chuẩn. Trên các hệ thống mà nó được sử dụng, thư viện C này cung cấp và định nghĩa các lệnh gọi hệ thống và các chức năng cơ bản khác, nó được hầu hết các chương trình sử dụng. 

Các tính năng mới chính của Glibc 2.34

Trong phiên bản mới này của Glibc 2.34, điều đó được trình bày libpthread, libdl, libutil và libanl đã được tích hợp vào thư viện chính, việc sử dụng chức năng của nó trong các ứng dụng không còn yêu cầu ràng buộc chúng với các cờ -lpthread, -ldl, -lutil và -lanl.

Hơn nữa, nó được đề cập rằng các chế phẩm đã được thực hiện để tích hợp libreolv vào libc, với đó sự tích hợp sẽ cho phép quá trình cập nhật glibc mượt mà hơn và nó sẽ đơn giản hóa việc triển khai thời gian chạy và các thư viện sơ khai cũng đã được cung cấp để tương thích với các ứng dụng được xây dựng bằng các phiên bản glibc trước đó.

Về phần những thay đổi tập trung vào Linux Glibc 2.34 làm nổi bật thêm khả năng sử dụng loại time_t 64 bit trong cấu hình truyền thống sử dụng loại time_t 32 bit. Tính năng này chỉ khả dụng trên các hệ thống có nhân 5.1 trở lên.

Một thay đổi cụ thể khác cho Linux là thực hiện chức năng thực thiĐó cho phép chạy một tệp thực thi từ một bộ mô tả tệp đang mở. Hàm mới cũng được sử dụng trong việc thực hiện lệnh gọi fexecve, không yêu cầu hệ thống tệp giả / proc phải được gắn kết khi khởi động.

Chức năng này cũng đã được thêm vào close_range () khả dụng cho Linux phiên bản 5.9 và cao hơn và có thể là được sử dụng để cho phép một quá trình đóng một loạt các bộ mô tả tệp mở cùng lúc, ngoài ra, tham số glibc.pthread.stack_cache_size được triển khai, có thể được sử dụng để điều chỉnh kích thước của bộ đệm ẩn ngăn xếp pthread.

Hơn nữa, đã thêm hàm _Fork, một sự thay thế cho chức năng ngã ba đáp ứng các yêu cầu "không đồng bộ-tín hiệu-an toàn", nghĩa là nó có thể được gọi một cách an toàn từ các bộ xử lý tín hiệu. Trong quá trình thực thi _Fork, một môi trường tối thiểu được hình thành, đủ để gọi các hàm trong trình xử lý tín hiệu như nâng và thực thi, mà không cần gọi các tính năng có thể thay đổi khóa hoặc trạng thái bên trong.

Đối với một phần của các lỗ hổng được khắc phục trong Glibc 2.34, những điều sau được đề cập:

CVE-2021-27645: Quá trình nscd (daemon máy chủ định danh) không thành công do một cuộc gọi kép đến hàm miễn phí trong khi xử lý các yêu cầu nhóm mạng được chế tạo đặc biệt.

CVE-2021-33574: quyền truy cập vào vùng bộ nhớ đã được giải phóng (use-after-free) trong hàm mq_notify khi sử dụng kiểu thông báo SIGEV_THREAD với thuộc tính luồng mà mặt nạ ràng buộc CPU thay thế được đặt. Sự cố có thể gây ra sự cố, nhưng các tùy chọn tấn công khác không bị loại trừ.

CVE-2021-35942: Tràn kích thước tham số trong hàm wordexp có thể làm hỏng ứng dụng.

Những thay đổi khác nổi bật:

  • Hàm timespec_getres, được định nghĩa trong tiêu chuẩn ISO C2X dự thảo, đã được thêm vào và hàm timespec_get đã được tăng lên với các khả năng tương tự như hàm clock_getres của POSIX.
  • Trong tệp gconv-modules, chỉ còn lại một tập hợp tối thiểu các mô-đun gconv chính và phần còn lại được chuyển sang tệp gconv-modules-extra.conf bổ sung nằm trong thư mục gconv-modules.d.
  • Việc sử dụng các liên kết tượng trưng để liên kết các đối tượng chia sẻ có thể cài đặt với phiên bản Glibc đã bị loại bỏ. Các đối tượng này hiện đã được cài đặt như hiện tại (ví dụ: libc.so.6 bây giờ là một tệp chứ không phải là một liên kết đến libc-2.34.so).
  • Trên Linux, các chức năng như shm_open và sem_open hiện yêu cầu hệ thống tệp cho bộ nhớ dùng chung được gắn trên điểm gắn kết / dev / shm.

Cuối cùng nếu bạn muốn biết thêm về nó của phiên bản mới này, bạn có thể kiểm tra chi tiết trong liên kết sau.


Nội dung bài viết tuân thủ các nguyên tắc của chúng tôi về đạo đức biên tập. Để báo lỗi, hãy nhấp vào đây.

Hãy là người đầu tiên nhận xét

Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: Miguel Ángel Gatón
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.