SUSE Rancher: kiểm tra RoleTemplate không đầy đủ có thể dẫn đến leo thang đặc quyền

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-2023-32196 là gì?

Lỗ hổng CVE-2023-32196 là lỗ hổng Improper Privilege Management ảnh hưởng tới rancher (phiên bản bị ảnh hưởng: 2.7.0 – < 2.7.14 và 2.8.0 – < 2.8.5). Lỗ hổng này được xếp hạng ở mức Cao, với điểm CVSS 7.5. 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

Đã xác định một lỗ hổng trong đó các kiểm tra leo thang đặc quyền không được thực thi đúng cách đối với các đối tượng RoleTemplate khi external=true, điều này trong những tình huống cụ thể có thể dẫn đến leo thang đặc quyền.

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

Bản ghi chuẩn xác định SUSE Rancher, package github.com/rancher/rancher, có trạng thái mặc định là unaffected nhưng liệt kê các nhánh bị ảnh hưởng sau:

  • Nhánh 2.7: affected từ 2.7.0 và nhỏ hơn 2.7.14.
  • Nhánh 2.8: affected từ 2.8.0 và nhỏ hơn 2.8.5.

Các bản được advisory nêu là patched gồm 2.7.14 và 2.8.5. Không nên suy ra trạng thái của các nhánh song song hoặc release khác ngoài các phạm vi được xác nhận này.

Chi tiết kỹ thuật

Lỗ hổng thuộc nhóm CWE-269: Improper Privilege Management trong bộ phân giải rule của webhook. Khi external=true và context được đặt thành project hoặc để trống, bộ phân giải có thể bỏ qua các rule từ ClusterRole đứng sau RoleTemplate bên ngoài. Bản sửa bổ sung trường ExternalRules cho RoleTemplate CRD để lấy rule trực tiếp từ RoleTemplate; nếu trường này không được cung cấp, rule từ ClusterRole liên kết sẽ được sử dụng. Khi ExternalRules tồn tại, trường này được ưu tiên và trở thành nguồn chính để tạo tài nguyên Rancher trên local cluster. Điều kiện khai thác cụ thể và request hoặc payload chính xác không được mô tả trong bằng chứng hiện có, nhưng hồ sơ xác nhận khả năng truy cập qua mạng, yêu cầu đặc quyền cao, độ phức tạp cao và không cần tương tác của người dùng. Thay đổi này có thể gây ảnh hưởng tương thích cho external RoleTemplates có context là project hoặc rỗng nếu ClusterRole đứng sau không tồn tại.

Khả năng khai thác

  • Khả năng tiếp cận được ghi nhận là qua mạng.
  • Kẻ tấn công cần có đặc quyền cao trước khi thực hiện điều kiện khai thác; hồ sơ không mô tả loại tài khoản hoặc quyền cụ thể.
  • Độ phức tạp được đánh giá là cao và không yêu cầu tương tác của người dùng.
  • Bản ghi được cung cấp đánh dấu không có public exploit, nhưng không xác lập trạng thái khai thác thực tế hoặc việc lỗ hổng đã bị khai thác trong môi trường cụ thể.

Tác động kỹ thuật

Lỗ hổng có thể dẫn đến leo thang đặc quyền trong Rancher khi các rule của external RoleTemplate không được kiểm tra hoặc phân giải đúng. Kết quả có thể cho phép actor đã có đặc quyền cao thực hiện các thao tác vượt quá quyền dự kiến, với khả năng ảnh hưởng đến tính bí mật, toàn vẹn và sẵn sàng của tài nguyên trong phạm vi Rancher quản lý. Hồ sơ đánh giá scope là unchanged, nên bằng chứng không cho thấy một bước nhảy bắt buộc sang authority độc lập bên ngoài component bị ảnh hưởng. Mức quyền thực tế đạt được, dữ liệu bị tác động và phạm vi tổ chức cụ thể vẫn phụ thuộc vào các rule của từng RoleTemplate và cấu hình local cluster.

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

Nếu khai thác thành công, actor có thể nhận được quyền ngoài phạm vi dự kiến của RoleTemplate. Tùy theo các rule được áp dụng, hậu quả có thể bao gồm đọc dữ liệu, thay đổi tài nguyên hoặc gây gián đoạn các tài nguyên do Rancher quản lý. Điều này có thể ảnh hưởng đến phân quyền giữa project, cluster và các tài nguyên trên local cluster. Bằng chứng hiện có không xác định một breach, nạn nhân hoặc phạm vi dữ liệu cụ thể, vì vậy tác động thực tế phụ thuộc vào quyền của RoleTemplate và cấu hình Rancher từng môi trường.

Cách khắc phục

  1. Nâng cấp nhánh 2.7 bị ảnh hưởng lên bản đã được advisory xác định là 2.7.14.
  2. Sau khi nâng cấp trên nhánh 2.7, bật feature flag external-rules; advisory yêu cầu thao tác opt-in này để áp dụng bản sửa.
  3. Với nhánh 2.8, nâng cấp lên bản đã được advisory xác định là 2.8.5; bản sửa được áp dụng tự động trên release line này.
  4. Nếu chưa thể nâng cấp, kiểm tra các external RoleTemplate có context là project hoặc rỗng, không có externalRules, và không có backing ClusterRole. Advisory mô tả việc tạo ClusterRole mà các đối tượng này tham chiếu đến là workaround để xử lý các đối tượng được xác định.
  5. Sau thay đổi, xác minh lại rule của RoleTemplate, sự tồn tại của backing ClusterRole, và trạng thái của feature flag trước khi coi việc khắc phục là hoàn tất.

Cách phát hiện

  • Kiểm kê các bản triển khai SUSE Rancher và xác định các release đang chạy, sau đó đối chiếu với các nhánh bị ảnh hưởng và bản sửa được nêu trong affected_summary.
  • Liệt kê các RoleTemplate thỏa cả các điều kiện: context là project hoặc rỗng, external=true, externalRules không tồn tại, và builtin=false.
  • Với mỗi đối tượng được tìm thấy, kiểm tra xem có ClusterRole cùng tên làm backing resource hay không.
  • Ưu tiên rà soát các đối tượng không có backing ClusterRole, vì advisory xác định đây là các đối tượng có thể bị ảnh hưởng và mô tả việc tạo backing ClusterRole là cách xử lý.
  • Việc không tìm thấy đối tượng trong lần kiểm tra hiện tại không tự chứng minh rằng hệ thống an toàn; nên lặp lại kiểm tra sau các thay đổi cấu hình hoặc nâng cấp. Các log và cảnh báo quyền hạn có thể được theo dõi như biện pháp bổ sung, không phải indicator được xác nhận.
Nguồn (15)
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.

Khám phá CyStack VulnScan