Red Hat và dự án Keycloak đã phát hành các bản vá để giải quyết một lỗi bảo mật nghiêm trọng trong máy chủ quản lý danh tính và truy cập (IAM) mã nguồn mở. Lỗ hổng này có thể cho phép kẻ tấn công từ xa chưa xác thực chiếm đoạt bất kỳ tài khoản người dùng nào bằng cách ép buộc thực hiện quy trình reset mật khẩu.
Lỗ hổng này được gán mã định danh CVE-2026-18963, được Red Hat – đơn vị đóng vai trò là Cơ quan Cấp mã CVE (CNA) – đánh giá mức độ nghiêm trọng 9.1 trên hệ thống điểm CVSS. Nó được phân loại là cơ chế khôi phục mật khẩu yếu cho trường hợp quên mật khẩu (CWE-640).
Người dùng Keycloak phiên bản upstream được khuyến nghị cập nhật lên phiên bản 26.7.2, phát hành ngày 19 tháng 8 năm 2026. Trong khi đó, khách hàng đang sử dụng Red Hat build of Keycloak (RHBK) nên áp dụng các bản cập nhật dành cho phiên bản 26.4.15 và 26.6.6.
Hiện tại chưa có bằng chứng cho thấy lỗ hổng này đã bị khai thác trong thực tế và chưa có mã khai thác (exploit) công khai nào được xác minh tính đến ngày 24 tháng 8 năm 2026.
Nguyên nhân và cơ chế khai thác
Trong thông báo bảo mật CVE của mình, Red Hat cho biết nguyên nhân gốc rễ là do "việc xác thực trạng thái không đúng trong luồng xác thực reset-credentials" – đây là chuỗi quy trình mà Keycloak thực hiện khi người dùng yêu cầu khôi phục mật khẩu. Công ty đánh giá mức độ nghiêm trọng là Critical (Nghiêm trọng) vì kẻ tấn công từ xa chưa xác thực có thể khai thác lỗi mà không cần bất kỳ sự tương tác nào từ phía người dùng.
Theo báo cáo lỗi của Red Hat, khiếm khuyết nằm ở cách quản lý trạng thái của luồng thực thi. Kẻ tấn công gửi một yêu cầu được tạo đặc biệt đến endpoint reset-credentials. Sau đó, phiên xác thực sẽ chuyển trực tiếp sang giai đoạn cập nhật mật khẩu. Action token mà Keycloak thường gửi qua email sẽ không bao giờ được yêu cầu đến.
Việc khai thác thành công sẽ dẫn đến việc chiếm đoạt hoàn toàn bất kỳ tài khoản người dùng nào, "bao gồm cả các tài khoản quản trị", bằng cách reset mật khẩu của họ.
Nhà nghiên cứu Enzo Mongin từ Escape, khi viết về một lỗi kiểm soát truy cập Keycloak riêng biệt mà ông đã tiết lộ vào tháng 7, cho biết một kẻ tấn công khi vượt qua được ranh giới của máy chủ sẽ không dừng lại ở Keycloak, mà "họ sẽ xâm nhập vào mọi thứ nằm phía sau nó".
Các phiên bản đã được khắc phục
Red Hat đã ban hành bốn thông báo sửa lỗi vào ngày 18 tháng 8 năm 2026, bao gồm các gói máy chủ độc lập và hình ảnh container cho hai luồng RHBK. Các phiên bản đã sửa lỗi như sau:
- Red Hat build of Keycloak 26.4: Không còn bị ảnh hưởng từ gói operator 26.4.15-1, và từ các image rhbk/keycloak-rhel9 và rhbk/keycloak-rhel9-operator phiên bản 26.4-23.
- Red Hat build of Keycloak 26.6: Không còn bị ảnh hưởng từ gói operator 26.6.6-1 và từ các container keycloak-rhel9 và operator phiên bản 26.6-12.
- Upstream Keycloak: Đã được khắc phục trong phiên bản 26.7.2.
Biện pháp giảm thiểu tạm thời
Đối với các hệ thống triển khai chưa thể cập nhật ngay lập tức, Red Hat đã công bố một biện pháp giảm thiểu tạm thời: tắt chức năng "Forgot password" (Quên mật khẩu) trên tất cả các realm. Trong bảng điều khiển quản trị RHBK, cài đặt này nằm tại mục Realm settings, sau đó là Login, và chọn Forgot password. Red Hat nhấn mạnh rằng cài đặt này phải được áp dụng cho mọi realm và khách hàng nên nâng cấp lên phiên bản đã được vá lỗi sớm nhất có thể.
CVE-2026-18963 là một trong tám mã CVE được liệt kê là đã khắc phục trong ghi chú phát hành Keycloak 26.7.2. Bản phát hành này cũng giải quyết CVE-2026-15571, một lỗi liên quan đến mã hash liên kết tài khoản có thể đoán trước, cho phép chiếm đoạt tài khoản thông qua một client OpenID Connect (OIDC) độc hại.
Trước đó hai tuần, vào ngày 5 tháng 8 năm 2026, Keycloak 26.7.1 đã cung cấp các bản vá cho mười hai CVE, bao gồm lỗi đăng nhập broker do nhà cung cấp danh tính SAML khởi xướng cho phép bỏ qua hạn chế link-only và chính sách đăng ký client động mặc định cho phép giả mạo vai trò thông qua user property mappers.
Bên cạnh đó, Univention cho biết trong một bài đăng ngày 20 tháng 8 rằng "Nubus không bị ảnh hưởng bởi vấn đề này" vì tính năng quên mật khẩu không được kích hoạt trong các bản triển khai Keycloak của họ. Red Hat đã gửi lời cảm ơn đến James Paremain vì đã báo cáo lỗ hổng này.