Bỏ qua xác minh chữ ký SAML cho phép chiếm tài khoản liên kết trong Red Hat Build of Keycloak

Lưu ý: Dữ liệu này chỉ có tính chất tham khảo, phục vụ nghiên cứu an ninh mạng.CyStack khuyến nghị người dùng không sử dụng các thông tin này nhằm các mục đích bất hợp pháp

Lỗ hổng CVE-2026-117691 là gì?

Lỗ hổng CVE-2026-117691 là lỗ hổng Improper Verification of Cryptographic Signature ảnh hưởng tới Red Hat Build of Keycloak. Lỗ hổng này được xếp hạng ở mức Nghiêm trọng, với điểm CVSS 9.1. Các nguồn hiện có chưa ghi nhận lỗ hổng này bị khai thác.

Giới thiệu chung

Dữ liệu gốc

Một lỗi được phát hiện trong phần triển khai SAML HTTP-Redirect binding của Keycloak. Vấn đề xảy ra vì máy chủ xử lý các tên tham số được percent-encode (chẳng hạn %53AMLResponse), trong khi logic xác minh chữ ký chỉ kiểm tra các tên tham số literal. Kẻ tấn công có thể lợi dụng sự khác biệt này để cung cấp một thông điệp SAML chưa được ký được tạo специально, và máy chủ sẽ xử lý thông điệp đó thay vì thông điệp được ký hợp lệ, dẫn đến chiếm toàn bộ tài khoản của người dùng federated.

Sản phẩm và phạm vi ảnh hưởng

  • Red Hat Build of Keycloak, component keycloak-services: Affected; chưa có fixed release hoặc erratum được nêu.
  • Red Hat Build of Keycloak, component rhbk/keycloak-rhel9: Affected; chưa có fixed release hoặc erratum được nêu.
  • Red Hat Single Sign-On 7, component keycloak-services: Known not affected vì vulnerable code không hiện diện.
  • Red Hat nêu rằng, trừ khi có chỉ dẫn rõ ràng là không bị ảnh hưởng, các phiên bản trước đó của package trong mọi minor update stream của sản phẩm được liệt kê nên được xem là dễ bị lỗi, dù có thể chưa được phân tích đầy đủ. Hồ sơ hiện có không cung cấp ranh giới phiên bản cụ thể cho hai component bị ảnh hưởng.

Chi tiết kỹ thuật

Lỗ hổng nằm trong component keycloak-services khi xử lý SAML HTTP-Redirect binding. Máy chủ giải mã tên tham số được percent-encode, chẳng hạn %53AMLResponse thành SAMLResponse, trong khi logic xác minh chữ ký chỉ nhận diện tên tham số dạng literal. Theo mô tả kỹ thuật, một yêu cầu có thể đặt thông điệp SAML chưa được ký dưới tên đã encode trước một thông điệp có chữ ký hợp lệ; bước xác minh kiểm tra thông điệp hợp lệ, nhưng bước xử lý lại chọn lần xuất hiện đầu tiên sau khi giải mã. Sai khác này cho phép thông điệp chưa ký được xử lý như thông điệp hợp lệ và thuộc CWE-347, Improper Verification of Cryptographic Signature. Bằng chứng hiện có chưa xác định các chi tiết triển khai khác, điều kiện cấu hình bổ sung hoặc ranh giới phiên bản cụ thể ngoài các sản phẩm được nêu.

Khả năng khai thác

Lỗ hổng có thể bị khai thác qua mạng, không yêu cầu quyền trước hoặc tương tác của người dùng; hồ sơ được cung cấp mô tả độ phức tạp khai thác là thấp. Red Hat Bugzilla mô tả điều kiện bổ sung là kẻ tấn công cần có tài khoản riêng tại external Identity Provider để thu thập một redirect-binding message có chữ ký hợp lệ, chẳng hạn logout response, rồi lợi dụng nó trong yêu cầu giả mạo. Kẻ tấn công từ xa chưa được xác thực có thể mạo danh người dùng liên kết trong SAML assertion và chiếm toàn bộ tài khoản đó. Bằng chứng hiện có không xác lập tình trạng khai thác thực tế hoặc sự tồn tại của public exploit.

Tác động kỹ thuật

Lỗi cho phép một thông điệp SAML chưa ký vượt qua mục tiêu bảo vệ của kiểm tra chữ ký và được xử lý như thông điệp hợp lệ. Kết quả kỹ thuật được ghi nhận là kẻ tấn công từ xa có thể mạo danh người dùng federated, đăng nhập vào các dịch vụ liên kết và truy cập role cùng dữ liệu của nạn nhân. Tác động có thể bao gồm mất tính bí mật của dữ liệu và thay đổi dữ liệu hoặc trạng thái ứng dụng trong phạm vi quyền của tài khoản bị chiếm. Điều kiện bổ sung được nêu là kẻ tấn công cần tài khoản riêng tại external Identity Provider để thu thập một thông điệp redirect-binding có chữ ký hợp lệ; bằng chứng chưa xác lập khả năng ảnh hưởng đến tài khoản hệ điều hành hoặc toàn bộ máy chủ.

Tác động đến tổ chức

Khai thác thành công có thể cho phép kẻ tấn công đăng nhập dưới danh nghĩa bất kỳ người dùng liên kết nào và truy cập các role cùng dữ liệu của người đó mà không được phép. Điều này có thể làm mất độ tin cậy của federated identity và cho phép truy cập trái phép vào các ứng dụng phụ thuộc Keycloak. Tùy role của tài khoản bị mạo danh, kẻ tấn công có thể đọc hoặc thay đổi dữ liệu trong phạm vi tài khoản đó. Bằng chứng hiện có tập trung vào chiếm tài khoản, truy cập dữ liệu và thay đổi trạng thái ứng dụng, chưa xác lập hậu quả rộng hơn đối với máy chủ hoặc hạ tầng.

Cách khắc phục

  1. Kiểm kê và ưu tiên xử lý mọi triển khai Red Hat Build of Keycloak có keycloak-services hoặc rhbk/keycloak-rhel9, đặc biệt những triển khai bật SAML HTTP-Redirect binding.
  2. Theo dõi Red Hat Product Security để nhận erratum hoặc fixed build, sau đó áp dụng bản sửa ngay khi được công bố. Bằng chứng hiện có chưa xác định fixed release hoặc bản vá đã phát hành.
  3. Không dựa vào một workaround không được xác nhận. Red Hat cho biết mitigation hiện không có, hoặc các lựa chọn hiện tại chưa đáp ứng tiêu chí về khả năng triển khai, phạm vi áp dụng và độ ổn định.
  4. Trong thời gian chờ bản sửa, giảm phơi nhiễm của các endpoint liên kết nếu chính sách triển khai cho phép và tăng cường rà soát đăng nhập federated. Nếu phát hiện dấu hiệu lạm dụng, thực hiện quy trình ứng phó tài khoản, thu hồi session và bảo vệ các tài khoản bị ảnh hưởng theo chính sách nội bộ.

Cách phát hiện

  • Kiểm kê các triển khai Red Hat Build of Keycloak và xác định chúng có chứa keycloak-services hoặc rhbk/keycloak-rhel9 hay không.
  • Xác định các endpoint sử dụng SAML HTTP-Redirect binding và đối chiếu trạng thái sản phẩm với Red Hat Product Security, không chỉ dựa vào chuỗi phiên bản do công cụ quét hiển thị.
  • Nếu có request logging, rà soát các yêu cầu SAML Redirect có tên tham số được percent-encode hoặc có nhiều tham số sau khi giải mã trở thành cùng một tên logic. Đây là heuristic dựa trên cơ chế lỗi, không phải IOC do nhà cung cấp công bố.
  • Như một biện pháp phòng ngừa, rà soát authentication telemetry để tìm các lần đăng nhập liên kết thành công bất thường, hoạt động tài khoản hoặc thay đổi quyền không phù hợp sau các luồng SAML. Không có log phù hợp không chứng minh hệ thống an toàn.
Nguồn (8)
Tìm hiểu thêm

Kiểm tra chuyên sâu cùng giải pháp quản lý rủi ro Web toàn diện

Giải pháp CyStack VulnScan liên tục phát hiện tài sản, xác minh lỗ hổng và giúp đội ngũ bảo mật ưu tiên khắc phục cho toàn bộ doanh nghiệp.