Chi tiết đã được công khai về một lỗ hổng nghiêm trọng được vá trong Kubernetes, có thể cho phép kẻ tấn công độc hại thực hiện thực thi mã từ xa với đặc quyền được nâng lên trong các trường hợp cụ thể.
Nhà nghiên cứu bảo mật của Akamai, Tomer Peled chia sẻ: “Lỗ hổng Kubernetescho phép thực thi mã từ xa với đặc quyền SYSTEM trên tất cả các điểm cuối Windows trong một cụm Kubernetes. Để khai thác lỗ hổng này, kẻ tấn công cần áp dụng các tệp YAML độc hại trên cụm.”
Với mã định danh là CVE-2023-5528 (điểm CVSS: 7.2), điểm yếu ảnh hưởng đến tất cả các phiên bản của kubelet, bao gồm và sau phiên bản 1.8.0. Nó đã được giải quyết như một phần của các bản cập nhật phát hành vào ngày 14 tháng 11 năm 2023, trong các phiên bản sau đây:
- kubelet v1.28.4
- kubelet v1.27.8
- kubelet v1.26.11
- kubelet v1.25.16
“Một vấn đề bảo mật đã được phát hiện trong Kubernetes, trong đó người dùng có thể tạo ra các pod và khối lưu trữ liên tục trên các nút Windows có thể tăng cường đặc quyền quản trị trên những nút đó,” những người duy trì Kubernetes nói trong một thông báo được phát hành vào thời điểm đó. “Cụm Kubernetes chỉ bị ảnh hưởng nếu họ đang sử dụng một plugin lưu trữ in-tree cho các nút Windows.”
Khai thác thành công lỗ hổng có thể dẫn đến việc chiếm quyền hoàn toàn trên tất cả các nút Windows trong một cụm. Đáng chú ý rằng một tập hợp khác của các lỗ hổng tương tự đã được tiết lộ trước đó bởi công ty hạ tầng web vào tháng 9 năm 2023.
Vấn đề xuất phát từ việc sử dụng “cuộc gọi hàm không an toàn và thiếu việc xử lý đầu vào từ người dùng,” và liên quan đến tính năng gọi là Kubernetes volumes, đặc biệt là sử dụng một loại khối lưu trữ được biết đến là local volumes cho phép người dùng gắn phân vùng đĩa vào một pod bằng cách chỉ định hoặc tạo một PersistentVolume.
“Trong quá trình tạo một pod bao gồm một local volume, dịch vụ kubelet sẽ (cuối cùng) đạt đến hàm ‘MountSensitive()’, ” Peled giải thích. “Bên trong nó, có một cuộc gọi dòng lệnh đến ‘exec.command’, tạo ra một liên kết tượng trưng giữa vị trí của khối lưu trữ trên nút và vị trí bên trong pod.”
Điều này tạo ra một lỗ hổng mà kẻ tấn công có thể khai thác bằng cách tạo một Persistent Volume với một tham số đường dẫn được tạo ra đặc biệt trong tệp YAML, kích hoạt việc chèn lệnh và thực thi bằng cách sử dụng phân tách lệnh “&&”.
“Nhằm loại bỏ cơ hội cho việc chèn mã, nhóm Kubernetes đã quyết định xóa cuộc gọi cmd và thay thế nó bằng một hàm GO nguyên bản sẽ thực hiện cùng một thao tác ‘os.Symlink(),” Peled nói về bản vá đã được triển khai.
Thông tin về lỗ hổng Kubernetes này xuất hiện khi một lỗ hổng bảo mật nghiêm trọng được phát hiện trong mô hình camera Zhejiang Uniview ISC 2500-S (CVE-2024-0778, điểm CVSS: 9.8) đang bị kẻ tấn công khai thác để triển khai một biến thể của botnet Mirai được gọi là NetKiller, có cơ sở hạ tầng chồng chéo với một botnet khác có tên là Condi.
Akamai cho biết: “A mã nguồn của botnet Condi đã được công khai trên Github từ ngày 17 tháng 8 đến 12 tháng 10 năm 2023. Xét về mã nguồn Condi đã có sẵn trong vài tháng qua, có khả năng rằng các kẻ tấn công khác […] đang sử dụng nó.”
Đừng quên theo dõi VNCS Global để nắm bắt kịp thời các thông tin mới nhất về an toàn thông tin nhé!