Người dùng Kimai sử dụng ảnh Docker chính thức được khuyến nghị khẩn cấp cập nhật cài đặt của họ sau khi phát hiện một lỗ hổng Kimai Docker nghiêm trọng. Lỗ hổng này có thể cho phép kẻ tấn công không cần xác thực tạo cookie xác thực giả mạo và có khả năng chiếm quyền điều khiển các tài khoản, bao gồm cả tài khoản quản trị viên tối cao.
Thông tin chi tiết về Lỗ hổng CVE-2026-52824
Lỗ hổng này, được theo dõi với mã CVE-2026-52824, ảnh hưởng đến các phiên bản Kimai 2.57.0 và cũ hơn. Vấn đề đã được khắc phục hoàn toàn trong phiên bản Kimai 2.58.0.
Kimai là một ứng dụng theo dõi thời gian mã nguồn mở được nhiều doanh nghiệp và nhóm sử dụng, phân phối thông qua các container Docker.
Nguyên nhân gốc rễ: APP_SECRET không an toàn
Lỗ hổng này phát sinh từ một giá trị mặc định không an toàn cho biến môi trường APP_SECRET của ứng dụng.
Ảnh Docker chính thức đã bao gồm giá trị công khai được biết đến là “change_this_to_something_unique”. Giá trị này ban đầu được dự kiến sẽ được thay thế trong quá trình triển khai.
Tuy nhiên, quá trình khởi động Docker đã không thực thi yêu cầu này hoặc tự động tạo một khóa bí mật thay thế. Việc này tạo ra một điểm yếu bảo mật đáng kể.
Cơ chế Khai thác và Ảnh hưởng hệ thống
Kimai sử dụng APP_SECRET làm kernel secret của Symfony, một giá trị mật mã cần thiết để tạo và xác thực các token bảo mật được ký bằng HMAC.
Nếu một cài đặt tiếp tục sử dụng khóa bí mật mặc định đã biết, kẻ tấn công có thể khai thác khóa mật mã này để tạo ra các token mà ứng dụng có thể tin cậy.
Thông báo bảo mật trên GitHub nêu rõ rằng khóa bí mật bị lộ có thể cho phép kẻ tấn công tạo giả mạo một số giá trị nhạy cảm về bảo mật. Các giá trị này bao gồm cookie KIMAI_REMEMBER (dùng cho tính năng nhớ đăng nhập), chữ ký liên kết đăng nhập, URL đặt lại mật khẩu và token CSRF.
Kẻ tấn công có quyền truy cập mạng vào một phiên bản Kimai dễ bị tổn thương có thể mạo danh người dùng mà không cần thông tin đăng nhập hợp lệ.
Để xảy ra kịch bản chiếm quyền điều khiển tài khoản, kẻ tấn công cần biết tên người dùng mục tiêu và khả năng xác định ID người dùng của tài khoản đó.
ID người dùng Kimai là các số nguyên tuần tự bắt đầu từ 111, khiến chúng tương đối dễ đoán trong nhiều triển khai. Tài khoản quản trị viên tối cao đầu tiên thường được gán ID 111, biến các tài khoản đặc quyền này trở thành mục tiêu hấp dẫn.
Xác thực hai yếu tố (2FA) có thể giảm thiểu cuộc tấn công nếu được bật trên tài khoản mục tiêu. Tuy nhiên, thông báo cảnh báo rằng các tài khoản không có 2FA hoạt động có thể bị xâm phạm hoàn toàn.
Vì cuộc tấn công có thể được thực hiện từ xa đối với một ứng dụng bị lộ, các tổ chức đã triển khai Kimai bằng cách sử dụng cài đặt Docker mặc định nên coi vấn đề này là khẩn cấp.
Phân loại và Nguồn báo cáo
Lỗ hổng này được phân loại là nghiêm trọng và được liên kết với CWE-1188, “Khởi tạo tài nguyên với giá trị mặc định không an toàn” (Initialization of a Resource with an Insecure Default).
Nhà nghiên cứu bảo mật AzureADTrent đã báo cáo vấn đề này. Một bằng chứng khái niệm (PoC) ban đầu đã được cung cấp nhưng sau đó đã bị xóa để giảm thiểu rủi ro khai thác.
Biện pháp khắc phục và Khuyến nghị bảo mật
Phiên bản Kimai 2.58.0 đã sửa đổi quy trình khởi tạo Docker để ngăn chặn việc cài đặt không an toàn. Điểm vào nâng cấp sẽ tạo ra một APP_SECRET ngẫu nhiên bằng cách sử dụng bin2hex(random_bytes(32)) nếu quản trị viên chưa cung cấp một khóa.
Khóa bí mật được tạo sẽ được lưu trữ trong /opt/kimai/var/data/.appsecret, và cấu hình triển khai được ghi vào /opt/kimai/.env.local.
Theo thông báo bảo mật trên GitHub (GHSA-jr9p-4h4j-6c58), các nhà phát triển đã xóa khóa bí mật mặc định được mã hóa cứng khỏi Dockerfile và cập nhật tài liệu để khuyến nghị sử dụng một khóa bí mật duy nhất, được tạo ngẫu nhiên.
Ngoài ra, Kimai đã tăng cường tính entropy của liên kết đăng nhập trong một thông báo riêng để giảm thiểu rủi ro liên quan đến các khóa bí mật dễ đoán trong các cấu hình cũ hơn.
Các hành động cần thiết cho quản trị viên
- Quản trị viên nên nâng cấp ngay lập tức lên Kimai phiên bản 2.58.0 hoặc mới hơn.
- Đảm bảo đặt một APP_SECRET có entropy cao, duy nhất một cách rõ ràng.
- Xoay vòng thông tin đăng nhập và các phiên hoạt động khi có thể.
- Rà soát các tài khoản quản trị viên.
- Kích hoạt xác thực hai yếu tố cho tất cả người dùng có đặc quyền để tăng cường an toàn thông tin.










