Looney Tunables: Lỗ hổng nâng cao đặc quyền mới trên Linux

15:06 | 13/10/2023

Một lỗ hổng bảo mật mới trên Linux, được gọi là “Looney Tunables” và được theo dõi là CVE-2023-4911, cho phép kẻ tấn công cục bộ giành được đặc quyền root bằng cách khai thác điểm yếu tràn bộ đệm trong trình tải động “ld.so” của thư viện GNU C (glibc).

Lỗi tràn bộ đệm trong thư viện glibc

Glibc là thư viện C của hệ thống GNU và có trong hầu hết các hệ thống dựa trên nhân Linux. Nó cung cấp chức năng thiết yếu, bao gồm các lệnh gọi hệ thống như “open”, “malloc”, “printf”, “exit” và các chức năng khác, cần thiết để thực thi chương trình thông thường.

Trình tải động trong glibc vô cùng quan trọng vì nó chịu trách nhiệm chuẩn bị và thực thi chương trình trên các hệ thống Linux, bao gồm việc tìm kiếm các phần phụ thuộc đối tượng được chia sẻ cần thiết cũng như tải chúng vào bộ nhớ và liên kết chúng trong thời gian chạy.

Lỗi CVE-2023-4911 (điểm CVSS: 7,8) là lỗi tràn bộ đệm nằm trong quá trình xử lý biến môi trường “GLIBC_TUNABLES” của trình tải động trong glibc.

Biến môi trường GLIBC_TUNABLES được giới thiệu trong glibc để cung cấp cho người dùng khả năng sửa đổi hành vi của thư viện trong thời gian chạy, loại bỏ nhu cầu biên dịch lại ứng dụng hoặc thư viện. Bằng cách đặt GLIBC_TUNABLES, người dùng có thể điều chỉnh các tham số hoạt động và hiệu suất khác nhau, sau đó được áp dụng khi khởi động ứng dụng.

Sự hiện diện của lỗ hổng tràn bộ đệm trong quá trình xử lý biến môi trường GLIBC_TUNABLES của trình tải động gây ra rủi ro đáng kể cho nhiều bản phân phối Linux. Bởi biến môi trường này nhằm mục đích tinh chỉnh và tối ưu hóa các ứng dụng được liên kết với glibc, là một công cụ thiết yếu dành cho nhà phát triển và quản trị viên hệ thống. Việc lạm dụng hoặc khai thác nó ảnh hưởng rộng rãi đến hiệu suất, độ tin cậy và bảo mật của hệ thống.

Saeed Abbasi, Giám đốc sản phẩm tại Nhóm nghiên cứu mối đe dọa Qualys cho biết: “Việc khai thác thành công Looney Tunables cho phép các tác nhân đe dọa có đầy đủ đặc quyền root trên các bản phân phối lớn như Fedora, Ubuntu và Debian, cho thấy mức độ nghiêm trọng và tính chất phổ biến của lỗ hổng này”.

Đồng thời Abbasi cũng cho biết, mặc dù hiện tại Qualys đang giữ lại mã khai thác, nhưng với lỗi tràn bộ đệm cũng có thể dẫn đến việc nhiều nhóm tin tặc sớm tạo ra các mã khai thác mới. Điều này có thể khiến vô số hệ thống gặp rủi ro, đặc biệt là khi sử dụng rộng rãi glibc trên các bản phân phối Linux.

Lỗ hổng tồn tại trên các bản cài đặt mặc định của Debian 12 và 13, Ubuntu 22.04 và 23.04 cũng như Fedora 37 và 38 (tuy nhiên với bản phân phối Alpine Linux sử dụng thư viện musl libc sẽ không bị ảnh hưởng).

“Lỗi tràn bộ đệm có thể cho phép kẻ tấn công cục bộ sử dụng các biến môi trường GLIBC_TUNABLES được tạo độc hại khi khởi chạy các tệp nhị phân có quyền SUID để thực thi mã với các đặc quyền nâng cao”, Red Hat giải thích.

Những kẻ tấn công có đặc quyền thấp có thể khai thác lỗ hổng có mức độ nghiêm trọng cao này trong các cuộc tấn công có độ phức tạp thấp không yêu cầu sự tương tác của người dùng.

Ưu tiên vá lỗi

Abbasi nói thêm: “Với khả năng cung cấp quyền truy cập root đầy đủ trên các nền tảng phổ biến như Fedora, Ubuntu và Debian, quản trị viên hệ thống bắt buộc phải có những hành động nhanh chóng bằng cách ưu tiên vá lỗi để đảm bảo tính toàn vẹn và bảo mật của hệ thống”.

Trong những năm gần đây, các nhà nghiên cứu của Qualys đã phát hiện ra các lỗ hổng bảo mật Linux có mức độ nghiêm trọng cao khác cho phép kẻ tấn công giành được quyền root trong cấu hình mặc định của nhiều bản phân phối Linux.

Danh sách này bao gồm một lỗ hổng trong thành phần “pkexec” của Polkit (được đặt tên là “PwnKit”), một lỗ hổng khác trong lớp hệ thống tệp của Kernel (được đặt tên là “Sequoia”) và trong chương trình Sudo Unix (còn gọi là “Baron Samedit”).