Lỗ hổng trong PolicyKit có thể thực thi bất kỳ lệnh nào trên hệ Linux

Nhờ lỗ hổng trong PolicyKit, bất kỳ tài khoản người dùng nào có đặc quyền thấp trên các hệ điều hành Linux đều có thể thực thi lệnh systemctl.securitydaily_lỗ hổng trong PolicyKit

Lỗ hổng trong PolicyKit nằm trong Bộ công cụ PolicyKit (hay còn gọi là polkit) dành cho các hệ điều hành giống như Unix dùng để xác định chính sách, xử lý các đặc quyền trên toàn hệ thống và cung cấp phương thức để các quy trình không đặc quyền giao tiếp với các quy trình có đặc quyền, ví dụ là “sudo” không cấp quyền root cho toàn bộ quá trình.

Lỗ hổng trong PolicyKit có tên là CVE-2018-19788 ảnh hưởng đến PolicyKit phiên bản 0.115 được cài đặt sẵn trên hầu hết các bản phân phối Linux phổ biến bao gồm Red Hat, Debian, Ubuntu và CentOS.

Lỗ hổng trong PolicyKit tồn tại do xác thực các yêu cầu quyền truy cập không chính xác cho bất kỳ người dùng nào có đặc quyền thấp có UID lớn hơn INT_MAX.

Trong đó, INT_MAX là một hằng số trong lập trình máy tính xác định giá trị tối đa mà biến số nguyên có thể lưu trữ, tương đương với 2147483647 (trong thập lục phân 0x7FFFFFFF).

Vậy có nghĩa là, nếu bạn tạo tài khoản người dùng trên các hệ thống Linux bị ảnh hưởng với bất kỳ UID nào lớn hơn giá trị INT_MAX, lỗ hổng trong PolicyKit sẽ cho phép bạn thực hiện bất kỳ lệnh systemctl nào.

Nhà nghiên cứu bảo mật Rich Mirch đã công khai bằng chứng proof-of-concept (PoC) để chứng minh lỗ hổng yêu cầu người dùng sử dụng UID 4000000000.

Red Hat đã khuyên các quản trị viên không cho phép bất kỳ UID hoặc UID âm nào lớn hơn 2147483646 để giảm thiểu sự cố cho đến khi bản vá được phát hành.

THN