Kubernetes là công cụ phần mềm quản lý số lớn các container. Container tương tự như những máy ảo chạy đa hệ điều hành trên cùng một máy tính vật lý nhưng thay vì chứa toàn bộ hệ điều hành, container chỉ chứa những gì cần để thực thi một ứng dụng (chẳng hạn như các thư viện ứng dụng và các thư viện hệ thống) và chia sẻ hệ điều hành với các container khác.
Container là những môi trường hoạt động nhỏ gọn, triển khai nhanh được thiết kế để hoạt động tốt giữa các môi trường khác nhau. Các công ty có thể chạy hàng chục hay hàng trăm ngàn container và điều đó khiến cho việc triển khai, cập nhật và quản lý chúng trở nên cực kỳ khó khăn. Kubernetes sẽ giúp quản lý các container theo từng nhóm - gọi là pod.
Công cụ này ban đầu xuất phát từ một dự án nguồn mở của Google và hiện đang được quản lý bởi Cloud Native Computing Foundation (CNCF) của Linux Foundation. Lỗ hổng mới phát hiện là lỗ hổng nghiêm trọng đầu tiên của Kubernetes, nó cho phép các yêu cầu với định dạng đặc biệt kết nối với các Kubernetes server và tạo ra các yêu cầu riêng của mình, do đó cho phép kẻ xấu can thiệp sâu vào hệ thống.
Nhóm Kubernetes thông báo về lỗ hổng với mã CVE-2018-1002105. Lỗ hổng nằm trong Kubernetes API server – công cụ phần mềm cho phép người dùng Kubernetes gửi các chỉ thị tới những Kubernetes pod qua HTTP API và cách API server giao tiếp với Kubernetes pod.
API server cho phép người dùng gửi yêu cầu qua các xác thực dựa trên chứng thư số. Nhưng nếu người dùng gửi một yêu cầu không đúng định dạng được thiết kế để trả về lỗi, server sẽ để mở đường kết nối với pod và cho phép các yêu cầu tiếp theo được gửi mà không kiểm tra xem người dùng đã được xác thực chưa. Đây thực sự là một lỗ hổng cho phép tăng quyền (privileges escalation).
Lỗ hổng này cho phép người dùng thông thường có quyền thực thi trên bất kỳ container nào trên máy chủ, kể cả những container có quyền đọc ghi hệ thống tệp của máy chủ. Nhờ đó, người dùng có thể truy cập tới mọi tiến trình đang chạy, kể cả luồng dữ liệu trao đổi giữa chúng.
Kẻ tấn công có thể lợi dụng lỗ hổng này để đánh cắp dữ liệu, khiến các ứng dụng bị treo hay chạy các lệnh độc hại. Có hai cách lợi dụng lỗ hổng: sử dụng các API server tổng hợp của Kubernetes bằng bất cứ tài khoản nào hoặc gọi API exec/attach/portforward – loại thường chỉ những tài khoản có quyền quản trị/sửa đổi mới được phép truy cập.
Red Hat đã cung cấp thêm thông tin chi tiết về ảnh hưởng của lỗ hổng này tới phiên bản 3.0 của OpenShift.
Kubernetes đã cung cấp bản vá và người dùng của các hệ thống hỗ trợ tính năng tự động vá lỗi đã được bảo vệ. Còn những người dùng khác thì nên nhanh chóng cập nhật bản vá cho hệ thống của mình.